چند روز پیش مقاله ای در مورد بزرگترین تهدید تاریخ پردازنده های مرکزی را منتشرکردیم و گفتیم نیاز به نصب آخرین بروزرسانی ها وجود داره، حال در این مقاله قصد داریم آموزش آپدیت یک سرور ESXi را توضیح بدیم.
راه های زیادی جهت آپدیت یک سرور ESXi هست. VUM یا vSphere Update Manager میتونه کاملا اتوماتیک کل یک cluster ESXi رو آپدیت کنه. البته جناب VUM برای این کار به vCenter Server نیاز داره. خب حالا یه باهوش از ته کلاس دستشو میبره بالا میگه: «آقا اجازه! اگه vCenter Server نبود چه شامپویی به سرمون بزنیم؟!» جواب من بعنوان استاد قطعا در مرحله اول اینه که «برو درسو حذف کن!» و سپس در مرحله بعد «استفاده از خط فرمان یا Command Line قدرتمند موجود در محیط Vmware».
خب برگردیم سر اصل ماجرا… کامند بازا بیان وسط:
گام اول:
آپدیت مورد نظرتون رو از سایت Vmware دانلود کنین. دقت کنین که vmware برای این کار مدتیه تغییراتی در سایتش اعمال کرده. باید در این لینک ، اول ثبت نام کنین و واردش بشین. همچنین یادتون نشه که با vpn یا proxy یا هر ابزار anonymizer دیگه ای که بشه باهاش به سایت وصل شد و وارد بشین.
برای پیدا کردن آپدیت مورد نظرتون راه های زیادی هست. اصلا ممکنه شما از قبل بدونین چه چیزی میخواین از my.vmware.com دریافت کنین. اما اگه نمیدونین یا مطمئن نیستین و مثه من 1 کیلوبایت از اینترنت تون روهم حاضر نیستین از دست تون بچکه!، من این راه رو بهتون پیشنهاد میکنم:
اول برین متن آپدیتی که میخواین رو گوگل کنین تا لینک مربوط به همون آپدیت در مجموعه سایتها و پرتالهای Vmware رو پیدا کنین. مثلا در مورد همین آسیب پذیری اخیر CPU احتمالا یه همچین چیزایی سرچ میکنین:
Intel CPU vulnerabilities vmware
Vmware advisory CPU vulnerabilities
Vmware path for Intel CPUs
Vmware meltdown spectre kbs
یه همچین کلمات کلیدی باید تو سرچ هاتون باشه دیگه درسته؟ بعد گوگل جان ما رو شیک هدایت میکنه به سمت این لینک اونجا شماره kb ها و لینکاش هست. خب این صفحه رو داشته باشین. بیاین تو my.vmware.com کل آپدیتهای ورژن ESXi خودتون رو لیست کنین. حالا تو مرورگر عبارت حاوی شماره kb که در این لینک لیست شده رو find کنین. اسم kb شما تو هر کدوم از آپدیت های لیست شده بود شما همون رو باید دانلود کنین. هر آپدیت یک فایل zip هست. مثلا شکل زیر رو برای همین مثال آسیب پذیری CPU ملاحظه بفرمایید:
ملاحظه میفرمایید که من کل آپدیتهای نسخه 6.5 را لیست کردم بعد راحت شماره kb خودم رو توش find کردم. اینجوری مطمئن میشم که آپدیتی که میگیرم همونیه که لازم دارم تا هم هیچی ترافیک اضافی از دستم نچکه و هم اینکه یوقت خدای ناکرده نزنم سرور مردمو کتلت کنم!
گام دوم:
کل فایل حاوی آپدیت رو (فایل zip) به datastore مرکزی آپلود کنین. این کار بوسیله vSphere Client (تا قبل از نسخه 6.5)، vSphere Web Client و ESXi host client انجام میشه.
گام سوم: فعال سازی SSH
تو vSphere Web client سرویس SSH رو استارت کنین و به هاست ESXi مورد نظرتون SSH بزنین.
گام چهارم:
هاست ESXi که بهش وصل شدین رو با دستور زیر در حالت Maintenance قرار بدین:
# vim-cmd hostsvc/maintenance_mode_enter
گام پنجم:
به مسیری که فایل رو آپلود کردین برین و چک کنین که فایله اونجا هست جاشم خوبه!
# cd /vmfs/volumes/Datastore/DirectoryName
# ls
گام ششم:
با توجه به آمار بالای کتلت شدن سرورها در این گام، ابتدا به نکته مهم زیر توجه بفرمایید:
نکته اول:
اینجا دو روش نصب داریم: الف) Update و ب) Install
الف) روش Update همه وصله های جدید مورد نیاز شامل وصله های امنیتی رو اعمال میکنه. پس محتویات وصله هایی که قدیمی تر از بسته های موجود در سیستم هستند اعمال نمی شوند.
ب) اما روش Install کل محتوای وصله دانلود شده را نصب کرده و بسته های قدیمی را حذف میکند. بنابراین روش Install ممکن است بسته های موجود روی سیستم ( مثلن image های customize شده) را downgrade کرده و بوم! سرور کتلت میشود! پس باید از آن با احتیاط استفاده نمود و از قبل برای آن پلان داشت.
نکته دوم:
برای Update یا Install فایل zip باید از سوئیچ –d و برای Update یا Install فایل vib باید از سوئیچ –v استفاده کنید.
جهت استفاده از روش Update:
# esxcli software vib update -d "/vmfs/volumes/Datastore/DirectoryName/PatchName.zip"
توجه کنید که در اینجا میتوان از UUID بجای DirectoryName استفاده نمود. مثلا:
# esxcli software vib update -d "/vmfs/volumes/datastore1/patch-directory/ ESXi650-201712001.zip"
یا مثلا با استفاده از UUID:
# esxcli software vib update -d "/vmfs/volumes/ a2bb3e7c-ca10571c-cec6-e5a60cc0e7d0 /patch-directory/ESXi650-201712001.zip"
گام هفتم:
در این مرحله اولا باید چک کنید که پیغام update completed successfully یا install completed successfully گرفته باشین. سپس با دستور
# esxcli software vib list
بررسی کنید که VIB ها بدرستی نصب شده باشند. مثلا چنین خروجی باید بگیرین:
# esxcli software vib list Name Version Vendor Acceptance Level Install Date ----------------- --------------------------- ------ ---------------- ------------ ata-pata-amd 0.3.10-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04 ata-pata-atiixp 0.4.6-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04 ata-pata-cmd64x 0.2.5-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04 ata-pata-hpt3x2n 0.3.4-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04
گام ما قبل آخر:
(الان حتما میگین آخییییییش چقد حرف زد)
سیستم باید reboot بشه:
# reboot
گام خود آخر!
بذارین سیستم بوت بشه، با SSH زدن به هاست ESXi از حالت maintenance خارج بشین و ماشین مجازیاتون رو روشن کنین:
# vim-cmd hostsvc/maintenance_mode_exit
برگرفته از [kb.vmware.com]