Iptables-Part3ByHesamForoutan.swf
32.2 MB
فیلم آموزشی فایروال IPTables بخش سوم از مهندس رسولی وند @iranopensource
بهترین توزیع لینوکس برای IoT یا اینترنت اشیاء @iranopensource
🔴 با عرض سلام، ادب و احترام خدمت تمامی دوستان، استاتید و متخصصین عزیز. امیدوارم مطالب قبلی را مرور کرده باشید. امشب نیز با Part-4 از سری آموزش های دوره Getting Started with Citrix XenServer در خدمت شما هستیم. با ما همراه باشید.
چطور Storage Repositoryها را در XenServer ایجاد و اضافه کنیم؟
راهکارهای Storage در XenServer اغلب در گام اول کمی سخت و گیج کننده هستند. اما پیش از شروع به هرگونه پیکربندی میبایست اصطلاحات و مفاهیم جدید Storage در XenServer مورد بحث و بررسی قرار دهیم. XenServer چندین اصطلاح جدید در به لیست اصطلاحات سنتی Storage معرفی میکند.
اولین چیزی که میبایست با XenServer Storage به یاد داشته باشید این است که ما storageی برای هاست XenServer واقعی و همچنین storageی برای guest یا ماشینهای مجازی در حال اجرا بر روی هاست XenServer داریم. بصورت مفهومی، فهم این مطلب ساده است اما مدیریت آن ممکن است کاری دلهرهآور برای administratorی باشد که با اهداف هر یک از جنبههای storage آشنا نباشد.
اما اولین اصطلاحی که میبایست بدانید SR یا Storage Repository است. مسلماً این مهمترین اصطلاح در XenServer Storage است و به رسانههای فیزیکی که دیسکهای ماشین مجازی در آن ذخیره و بازیابی میشوند اشاره دارد. Storage Repositoryها میتوانند انواع متفاوتی از Storage Systemها شامل: local storage متصل شده بصورت فیزیکی به هاست XenServer، iSCSI/Fibre Channel LUN، NFS Network File Shareها یا storage روی یک Dell/NetApp appliance باشد.
در واقع Storage Repositoryها میتوانند به اشتراک گذاشته شوند (Shared) و یا بصورت اختصاصی (dedicated) مورد استفاده قرار گیرند، همچنین از ویژگیهای زیادی از جمله: fast cloning، sparse allocation و re-sizable virtual disk image پشتیبانی میکنند.
اما Storage Repository (SR)ها میتوانند بصورت منطقی به یک هاست XenServer به عنوان یک Physical Block Device یا با اختصار PBD متصل شوند که این PBD به سادگی به یک storage location اشاره میکند. این PBD objectها میتوانند به یک هاست XenServer، متصل یا اصطلاحاً plugged شده تا به هاست مزبور اجازه خواندن/نوشتن به Storage Repository را بدهند.
هدف Storage Repositoryی ها اساساً ذخیرهسازی فایلهای VDI ماشین مجازی است. فایلهای VDI نقاطی روی یک SR هستند که اختصاص داده شدهاند تا سیستمعامل و دیگر فایلها را برای ماشین مجازی در حال اجرا روی یک هاست XenServer نگهداری کنند. فایلهای VDI دارای چندین نوع متفاوت باشند که نوع آنها توسط نوع Storage Repository تعیین میشود.
انواع رایج VDI در XenServer عبارتند از: Logical Volume (LV)ها که توسط Logical Volume Manager مدیریت میشوند، Virtual Hard Disk (VHD) یا اینکه میتوانند Logical Unit Number (LUN)هایی باشند که بر روی یک دستگاه ذخیرهسازی Dell/NetApp قرار دارند. (توجه: در این بخش از LUNها بر روی یک دستگاه ذخیرهسازی Dell PS5500E iSCSI storage استفاده میکنیم).
این فایلهای VDI از طریق یک object با عنوان Virtual Block Device یا با اختصار VBD بصورت منطقی به ماشینهای مجازی متصل هستند. این VBD objectها میتوانند به guestهای مجازی متصل شده و سپس به ماشین guest اجازه دسترسی به اطلاعات ذخیره شده در یک VDI خاص بر روی یک SR را میدهند.
دیاگرام شکل 66، نحوه ارتباط بین مفاهیم مختلف در XenServer Storage را که پیشتر در مورد آنها بحث کردیم و ممکن است کمی گیج کننده به نظر برسد را نمایش میدهد.
راهکارهای Storage در XenServer اغلب در گام اول کمی سخت و گیج کننده هستند. اما پیش از شروع به هرگونه پیکربندی میبایست اصطلاحات و مفاهیم جدید Storage در XenServer مورد بحث و بررسی قرار دهیم. XenServer چندین اصطلاح جدید در به لیست اصطلاحات سنتی Storage معرفی میکند.
اولین چیزی که میبایست با XenServer Storage به یاد داشته باشید این است که ما storageی برای هاست XenServer واقعی و همچنین storageی برای guest یا ماشینهای مجازی در حال اجرا بر روی هاست XenServer داریم. بصورت مفهومی، فهم این مطلب ساده است اما مدیریت آن ممکن است کاری دلهرهآور برای administratorی باشد که با اهداف هر یک از جنبههای storage آشنا نباشد.
اما اولین اصطلاحی که میبایست بدانید SR یا Storage Repository است. مسلماً این مهمترین اصطلاح در XenServer Storage است و به رسانههای فیزیکی که دیسکهای ماشین مجازی در آن ذخیره و بازیابی میشوند اشاره دارد. Storage Repositoryها میتوانند انواع متفاوتی از Storage Systemها شامل: local storage متصل شده بصورت فیزیکی به هاست XenServer، iSCSI/Fibre Channel LUN، NFS Network File Shareها یا storage روی یک Dell/NetApp appliance باشد.
در واقع Storage Repositoryها میتوانند به اشتراک گذاشته شوند (Shared) و یا بصورت اختصاصی (dedicated) مورد استفاده قرار گیرند، همچنین از ویژگیهای زیادی از جمله: fast cloning، sparse allocation و re-sizable virtual disk image پشتیبانی میکنند.
اما Storage Repository (SR)ها میتوانند بصورت منطقی به یک هاست XenServer به عنوان یک Physical Block Device یا با اختصار PBD متصل شوند که این PBD به سادگی به یک storage location اشاره میکند. این PBD objectها میتوانند به یک هاست XenServer، متصل یا اصطلاحاً plugged شده تا به هاست مزبور اجازه خواندن/نوشتن به Storage Repository را بدهند.
هدف Storage Repositoryی ها اساساً ذخیرهسازی فایلهای VDI ماشین مجازی است. فایلهای VDI نقاطی روی یک SR هستند که اختصاص داده شدهاند تا سیستمعامل و دیگر فایلها را برای ماشین مجازی در حال اجرا روی یک هاست XenServer نگهداری کنند. فایلهای VDI دارای چندین نوع متفاوت باشند که نوع آنها توسط نوع Storage Repository تعیین میشود.
انواع رایج VDI در XenServer عبارتند از: Logical Volume (LV)ها که توسط Logical Volume Manager مدیریت میشوند، Virtual Hard Disk (VHD) یا اینکه میتوانند Logical Unit Number (LUN)هایی باشند که بر روی یک دستگاه ذخیرهسازی Dell/NetApp قرار دارند. (توجه: در این بخش از LUNها بر روی یک دستگاه ذخیرهسازی Dell PS5500E iSCSI storage استفاده میکنیم).
این فایلهای VDI از طریق یک object با عنوان Virtual Block Device یا با اختصار VBD بصورت منطقی به ماشینهای مجازی متصل هستند. این VBD objectها میتوانند به guestهای مجازی متصل شده و سپس به ماشین guest اجازه دسترسی به اطلاعات ذخیره شده در یک VDI خاص بر روی یک SR را میدهند.
دیاگرام شکل 66، نحوه ارتباط بین مفاهیم مختلف در XenServer Storage را که پیشتر در مورد آنها بحث کردیم و ممکن است کمی گیج کننده به نظر برسد را نمایش میدهد.
شکل 67 نیز نحوه عملکرد XenServer Storage را به وضوح نمایش میدهد تا درک مفاهیم مربوط به storage در هاست XenServer برای شما قابل درکتر باشد.
ایجاد Citrix XenServer Storage Repository
اولین گام برای این منظور ایجاد یک software iSCSI initiator از هاست XenServer به دستگاه Dell PS5500E است.
این LUN خاص از CHAP جهت محدود کردن دسترسی به iSCSI volume به parityهای مجاز استفاده میکند.
جهت ایجاد Storage Repository میبایست از دستور xe کمک بگیریم. اما پیش از آن میبایست اطلاعات iSCSI را بدست بیاوریم چرا برای ایجاد Storage Repository به آن نیاز خواهیم داشت. برای این منظور، دستور زیر را اجرا میکنیم:
# xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"
در دستور فوق پارامتر sr-probe را به ابزار کمکی xe ارسال میکنیم که باعث خواهد شد تا XenServer یک query به دستگاه storage برای بدست آوردن iSCSI IQN بسازد. اما پیش از رفتن به گام بعدی اجازه دهید نگاهی به بخشهای مختلف دستور فوق بیاندازیم:
اولین گام برای این منظور ایجاد یک software iSCSI initiator از هاست XenServer به دستگاه Dell PS5500E است.
این LUN خاص از CHAP جهت محدود کردن دسترسی به iSCSI volume به parityهای مجاز استفاده میکند.
جهت ایجاد Storage Repository میبایست از دستور xe کمک بگیریم. اما پیش از آن میبایست اطلاعات iSCSI را بدست بیاوریم چرا برای ایجاد Storage Repository به آن نیاز خواهیم داشت. برای این منظور، دستور زیر را اجرا میکنیم:
# xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"
در دستور فوق پارامتر sr-probe را به ابزار کمکی xe ارسال میکنیم که باعث خواهد شد تا XenServer یک query به دستگاه storage برای بدست آوردن iSCSI IQN بسازد. اما پیش از رفتن به گام بعدی اجازه دهید نگاهی به بخشهای مختلف دستور فوق بیاندازیم:
در واقع توسط دستور فوق، XenServer تلاش خواهد کرد تا به دستگاه iSCSI، login نموده و بعضی از اطلاعات مورد نیاز که جهت اضافه کردن دستگاه iSCSI به عنوان یک Storage Repository مورد نیاز است را برگرداند. به عنوان مثال در شکل 68 خروجی دستور فوق را مشاهده میکنید.
همانطور که در خروجی شکل فوق مشاهده میکنید، iSCSI IQN دستگاه storage برگردانده شده است. این مشخصه جهت تعیین کردن SCSIid برای Storage Repository بسیار مهم و مورد نیاز است. حال با این اطلاعات جدید میتوانیم توسط دستور زیر اقدام به بدست آوردن SCSIid نماییم:
# xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"
توجه داشته باشید تنها چیزی که به دستور فوق میبایست اضافه کنیم، بند targetIQN است. با اجرای این دستور جدید، سیستم آخرین بخش اطلاعاتی مورد نیاز جهت ایجاد یک iSCSI Storage Repository را در اختیارمان قرار خواهد داد. آخرین بخش اطلاعاتی SCSI id است. خروجی دستور فوق در شکل 69 نمایش داده شده است.
# xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"
توجه داشته باشید تنها چیزی که به دستور فوق میبایست اضافه کنیم، بند targetIQN است. با اجرای این دستور جدید، سیستم آخرین بخش اطلاعاتی مورد نیاز جهت ایجاد یک iSCSI Storage Repository را در اختیارمان قرار خواهد داد. آخرین بخش اطلاعاتی SCSI id است. خروجی دستور فوق در شکل 69 نمایش داده شده است.
در این لحظه دیگر تمام اطلاعات مورد نیاز جهت ایجاد یک iSCSI Storage Repository فراهم است و الان زمان آن است که توسط دستور زیر اقدام به اضافه کردن SR به XenServer مورد نظر خود نماییم.
# xe sr-create name-label="Tecmint iSCSI Storage" type=lvmoiscsi content-type=user device-config:target=X.X.X.X device-config:port=3260 device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap" device-config:SCSIid=36090a028b04a9a0def60353420006046
در صورتیکه همه چیز به درستی کار کند و سیستم قادر به اتصال به دستگاه iSCSI باشد، میبایست UUIDی را برای Storage Repository اضافه شده نمایش دهد. برای مثال:
bea6caa4-ecab-8509-33a4-2cda2599fb75
توجه داشته باشید که UUID فوق یک علامت مهم است! چرا که در این مرحله میتوانیم با استفاده از دستور زیر اقدام به بررسی شرایط کار خود تا به این مرحله نماییم:
# xe sr-list name-label="Tecmint iSCSI Storage"
خروجی دستور فوق همانند شکل 70 خواهد بود. همانطور که در این خروجی مشاهده میکنید، UUID نمایش داده شده با UUID که پیشتر بدست آوردیم یکی است. بنابراین این موضوع اثبات میکند که XenServer ما توانسته بصورت موفقیتآمیز به دستگاه Dell iSCSI متصل شده و آماده ذخیرهسازی VDI فایلهای ماشینهای مجازی است.
# xe sr-create name-label="Tecmint iSCSI Storage" type=lvmoiscsi content-type=user device-config:target=X.X.X.X device-config:port=3260 device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap" device-config:SCSIid=36090a028b04a9a0def60353420006046
در صورتیکه همه چیز به درستی کار کند و سیستم قادر به اتصال به دستگاه iSCSI باشد، میبایست UUIDی را برای Storage Repository اضافه شده نمایش دهد. برای مثال:
bea6caa4-ecab-8509-33a4-2cda2599fb75
توجه داشته باشید که UUID فوق یک علامت مهم است! چرا که در این مرحله میتوانیم با استفاده از دستور زیر اقدام به بررسی شرایط کار خود تا به این مرحله نماییم:
# xe sr-list name-label="Tecmint iSCSI Storage"
خروجی دستور فوق همانند شکل 70 خواهد بود. همانطور که در این خروجی مشاهده میکنید، UUID نمایش داده شده با UUID که پیشتر بدست آوردیم یکی است. بنابراین این موضوع اثبات میکند که XenServer ما توانسته بصورت موفقیتآمیز به دستگاه Dell iSCSI متصل شده و آماده ذخیرهسازی VDI فایلهای ماشینهای مجازی است.
ایجاد ISO Storage Repository
در این بخش میخواهیم درباره پروسه ایجاد یک ISO library صحبت کنیم. ISO فایلها معمولاً imageهایی از CDهای نصب هستند. بنابراین با داشتن یک Storage Repository خاص ایجاد شده از ISO فایلها، نصب ماشینهای مجازی جدید میتواند بسیار سریعتر صورت گیرد. در نتیجه زمانیکه یک administrator قصد دارد یک ماشین مجازی جدید ایجاد کند، میتواند به سادگی با انتخاب یکی از این فایلهای ISO موجود در ISO library، بسیار سریعتر از آنکه بخواهد یک CD فیزیکی نصب را در یک XenServer قرار دهد، اقدام به ایجاد یک ماشین مجازی کند.
اولین گام جمع کردن credentialها و اطلاعات پیکربندی ضروری برای SAMBA ISO library است. نام کاربری، کلمه عبور و اطلاعات اتصالی همه از طریق دستور ساده xe زیر که جهت اتصال SAMBA library به XenServer استفاده میشود، در دسترس هستند:
# xe-mount-iso-sr //<servername>/ISO -o username=<user>,password=<password>
اجرای دستور فوق باعث نمایش هیچگونه خروجیای بر روی screen شما نخواهد شد. بنابراین جهت اطمینان از اینکه SAMBA ISO به اشتراک گذاشته شده mount شده است یا خیر میتوانیم از دستور زیر استفاده کنیم:
# xe sr-list
خروجی دستور فوق بصورت زیر خواهد بود.
در این بخش میخواهیم درباره پروسه ایجاد یک ISO library صحبت کنیم. ISO فایلها معمولاً imageهایی از CDهای نصب هستند. بنابراین با داشتن یک Storage Repository خاص ایجاد شده از ISO فایلها، نصب ماشینهای مجازی جدید میتواند بسیار سریعتر صورت گیرد. در نتیجه زمانیکه یک administrator قصد دارد یک ماشین مجازی جدید ایجاد کند، میتواند به سادگی با انتخاب یکی از این فایلهای ISO موجود در ISO library، بسیار سریعتر از آنکه بخواهد یک CD فیزیکی نصب را در یک XenServer قرار دهد، اقدام به ایجاد یک ماشین مجازی کند.
اولین گام جمع کردن credentialها و اطلاعات پیکربندی ضروری برای SAMBA ISO library است. نام کاربری، کلمه عبور و اطلاعات اتصالی همه از طریق دستور ساده xe زیر که جهت اتصال SAMBA library به XenServer استفاده میشود، در دسترس هستند:
# xe-mount-iso-sr //<servername>/ISO -o username=<user>,password=<password>
اجرای دستور فوق باعث نمایش هیچگونه خروجیای بر روی screen شما نخواهد شد. بنابراین جهت اطمینان از اینکه SAMBA ISO به اشتراک گذاشته شده mount شده است یا خیر میتوانیم از دستور زیر استفاده کنیم:
# xe sr-list
خروجی دستور فوق بصورت زیر خواهد بود.
با مشاهده خروجی شکل فوق اطمینان حاصل میکنیم که XenServer ما با استفاده از یک iSCSI Storage Repository به عنوان یک CIFS ISO library جهت ذخیرهسازی فایلهای ISO نصب برای ماشینهای مجازی به درستی پیکربندی شده است.
چطور ماشینهای مجازی را در XenServer ایجاد و نصب کنیم؟
در این بخش قصد داریم به نحوه ایجاد و نصب guestها یا ماشینهای مجازی و نصب یک سیستمعامل بر روی XenServer بپردازیم. اما پیش از آن مطمئن شوید که مراحل ایجاد ISO Repository را پیشتر به درستی انجام دادهاید.
XenServer با یکسری از templateها که جهت provision کردن سریع یک guest مجازی استفاده میشوند، همراه است. این templateها گزینههایی را برای انتخاب سیستمعامل فراهم میکنند. این گزینههای شامل چیزهایی از جمله: فضای دیسک سخت، معماری CPU و مقدار حافظه RAM و... هستند.
این گزینهها میتوانند بعداً نیز بصورت دستی تغییر داده شوند اما در اینجا یک template ساده جهت نشان دادن مصرف این منابع در نظر گرفته شده است. جهت دسترسی به لیست templateهای موجود میتوانید از دستور xe به شکل زیر و ارسال آرگومانهای مختلف به آن از طریق خط فرمان سیستم XenServer استفاده کنید که در خروجی آن templateهای موجود نمایش داده خواهد شد.
# xe template-list
توجه داشته باشید که خروجی دستور فوق بسیار زیاد است، بنابراین به منظور سادهتر کردن خواندن خروجی دستور فوق را به دستور less، ارسال (pipe) خواهیم کرد:
# xe template-list | less
به این طریق شما میتوانید تجزیه آسانتری بر روی templateهای موجود داشته باشید و به اطلاعاتی همچون UUID آنها که مورد نیاز است برسید.
چطور ماشینهای مجازی را در XenServer ایجاد و نصب کنیم؟
در این بخش قصد داریم به نحوه ایجاد و نصب guestها یا ماشینهای مجازی و نصب یک سیستمعامل بر روی XenServer بپردازیم. اما پیش از آن مطمئن شوید که مراحل ایجاد ISO Repository را پیشتر به درستی انجام دادهاید.
XenServer با یکسری از templateها که جهت provision کردن سریع یک guest مجازی استفاده میشوند، همراه است. این templateها گزینههایی را برای انتخاب سیستمعامل فراهم میکنند. این گزینههای شامل چیزهایی از جمله: فضای دیسک سخت، معماری CPU و مقدار حافظه RAM و... هستند.
این گزینهها میتوانند بعداً نیز بصورت دستی تغییر داده شوند اما در اینجا یک template ساده جهت نشان دادن مصرف این منابع در نظر گرفته شده است. جهت دسترسی به لیست templateهای موجود میتوانید از دستور xe به شکل زیر و ارسال آرگومانهای مختلف به آن از طریق خط فرمان سیستم XenServer استفاده کنید که در خروجی آن templateهای موجود نمایش داده خواهد شد.
# xe template-list
توجه داشته باشید که خروجی دستور فوق بسیار زیاد است، بنابراین به منظور سادهتر کردن خواندن خروجی دستور فوق را به دستور less، ارسال (pipe) خواهیم کرد:
# xe template-list | less
به این طریق شما میتوانید تجزیه آسانتری بر روی templateهای موجود داشته باشید و به اطلاعاتی همچون UUID آنها که مورد نیاز است برسید.