آموزش راه اندازی نانو سرور ( Nano Server ) در ویندوز سرور

به دنبال مقاله‌ی قبل در مورد Nano Server به این نتیجه رسیدم که شاید دوستان در شبکه‌ی خودشان از محیط مجازی سازی VMware استفاده بکنند و حداقل برای تست و کنجکاوی قصد داشته باشند نانو سرور رو روی یک ماشین مجازی از جنس VMware بالا بیارن.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

در این مقاله به این مبحث پرداختیم و روش کار رو برای شما توضیح خواهیم داد. لازم به ذکر است که Nano server روی ESXi های ورژن 6 به بعد قابل اجرا کردن است. در مقاله ی قبل اشاره کردیم که خروجی سلسه عملیات ما یه فایل با پسوند VHD یا VHDx است که این هارد دیسک مجازی رو میتونیم فقط توی محیط Hyper-V به یک ماشین attach کنیم. برای اینکه توی محیط VMware اون رو بوت کنیم یک سری موانع داریم:

  1. فایل VHD یا VHDx توی محیط vSphere قابل استفاده نیست.
  2. کامند استاندارد ایجاد Nano Server یک سری درایور جنرال توی VHD وارد میکنه که متاسفانه دایورهای Vmwareی توش نیستند.

ابتدا به سراغ راه حل مشکل دوم می ریم. کاری که میخوایم انجام بدیم این است که به یک روشی به ساختار ESXi وصل بشویم و درایورهای مورد نیازمون رو کپی کنیم.. روش دیگه‌ای هم هست که از ادمین VMwareمون بخوایم اونها رو بهمون بده :دی)

  • روش اول ساخت نانو سرور مایکروسافت

روی ESXi بریم و SSH رو Enable کنیم به ESXi ریموت بزنیم و فایل ایزو حاوی درایورهای ویندوزی رو دانلود کنیم:

1.به وسیله نرم افزاری مثل Putty به سرور remoot می زنیم و با یوزر root لاگین میکنیم و دستور زیر رو می زنیم:

ls -l  vmimages/tools-isoimages/win*
وب سایت توسینسو


2.به وسیله نرم افزاری مانند winSCP به مسیر vmimagestools-isoimages می ریم و فایل Windows.iso رو دانلود میکنیم و روی کامپیوتر خودمون در مسیر C:\VM Drivers کپی میکنیم.

3.حالا باید windows.iso رو مانت کنیم و فایل setup64.exe رو اجرا کنیم تا ویزارد نصب شروع بشه.

وب سایت توسینسو
وب سایت توسینسو

حالا درایورها Extract شدند. باید درایورهای مورد نیاز Nano Server رو جدا کنیم. برای این کار میتونیم مستقیم بریم و اونها رو کپی کنیم و به خاطر اینکه قصد کنیم کمی رابطمون رو با محیط Power shell حسنه کنیم از این محیط برای کپی درایورها استفاده کنیم. در این جا ما درایورها رو به مسیر C:\\Nanoserver\\VMeare-Drivers کپی میکنیم:

# Copy VMware Tools Memory Control Driver - This driver is Mandatory
Copy-Item `
    -Path 'C:\NanoServer\VMware_Tools_Extracted\VMware\VMware Tools\VMware\Drivers\memctl\*' `
    -Destination C:\NanoServer\VMware-Drivers `
    -Recurse `
    -Verbose ;

 
# Copy VMware Tools Paravirtual SCSI (PVSCSI) Drivers - Optional
Copy-Item `
    -Path 'C:\NanoServer\VMware_Tools_Extracted\VMware\VMware Tools\VMware\Drivers\pvscsi\*' `
    -Destination C:\NanoServer\VMware-Drivers `
    -Recurse `
    -Verbose ;
 
# Copy VMware Tools SVGA 3D Video (SVGA) Drivers - Optional
Copy-Item `
    -Path 'C:\NanoServer\VMware_Tools_Extracted\VMware\VMware Tools\VMware\Drivers\video_wddm\*' `
    -Destination C:\NanoServer\VMware-Drivers `
    -Recurse `
    -Verbose ;
 
# Copy VMware Tools Virtual Machine Communication Interface (VMCI)
# Drivers - Optional
Copy-Item `
    -Path 'C:\NanoServer\VMware_Tools_Extracted\VMware\VMware Tools\VMware\Drivers\vmci\device\*' `
    -Destination C:\NanoServer\VMware-Drivers `
    -Recurse `
    -Verbose ;
 
# Copy VMware Tools VMXNet NIC (VMXNET3) Drivers - This
# driver is Mandatory for using VMXNET3 Network Interface.
Copy-Item `
    -Path 'C:\NanoServer\VMware_Tools_Extracted\VMware\VMware Tools\VMware\Drivers\vmxnet3\NDIS6\*' `
    -Destination C:\NanoServer\VMware-Drivers `
    -Recurse `
    -Verbose ; 

به ترتیب درایورهای:

  • Memory Control
  • SCSI Control (Paravirtual)
  • VGA
  • VMCI
  • Network Adapter (VMXNET3)

را کپی کردیم. در مرحله‌ی بعد باید فایل VHD حاوی Nano Serverمون رو ایجاد کنیم.( برای دریافت توضیحات بیشتر به مقاله قبل مراجعه کنید)

New-NanoServerImage `
    -MediaPath 'D:\' `
    -Edition 'Datacenter' `
    -DeploymentType Guest `
    -TargetPath 'C:\NanoServer\NanoServer.vhdx' `
    -MaxSize 3GB `
    -EnableRemoteManagementPort `
    -DriverPath ('C:\NanoServer\VMware-Drivers\pvscsi.inf', `
                'C:\NanoServer\VMware-Drivers\vm3d.inf', `
                'C:\NanoServer\VMware-Drivers\vmci.inf', `
                'C:\NanoServer\VMware-Drivers\vmxnet3ndis6.inf', `
                'C:\Windows\System32\DriverStore\FileRepository\lsi_sas.inf_amd64_2bd0ac9c0d7' `
    -ComputerName 'NanoServer' ``
    -AdministratorPassword (ConvertTo-SecureString -String "Password" -AsPlainText -Force) ; 

همانطوری که مشاهده می‌کنید تمام درایورهایی که در مرحله‌ی قبل ما جمع آوری کردیم به کمک سوییچ –DriverPath اضافه می‌شوند. حالا می‌رسیم به مانع دوم. یعنی باید این فایل VHD رو آماده کنیم تا در محیط VMware قابل استفاده باشد. قبل از اینکه به سراغ دستورالعمل بریم بهتره که یه نگاهی به مفهوم قضیه بندازیم تا به صورت کورکورانه پیش نریم. همونطوری که می‌دونید ما یک ابزاری داریم به اسم Windows PE.

که در واقع یه نسخه خلاصه شده و سبک شده از ویندوز است که از آن برای نصب ویندوز(در واقع همان محیطی که شما هنگام نصب ویندوز می بینید Windows PE است) و عیب یابی (ویندوزهای Live) استفاده می کنیم. در واقع شما یک Windows PE رو شخصی سازی میکنید برای اهداف خودتون. ما هم در اینجا قصد داریم یک Windows PE ایجاد کنیم و فایل VHD رو درونش بذاریم و در نهایت خروجی کار یک فایل ISO است که قابل بوت شدن است. برای این کار ابزاری احتیاج داریم به اسم Assessment and Deployment Kit (ADK) که از سایت مایکروسافت قابل دانلود کردن است. حالا مراحل کار رو انجام می‌دیم:

1.بعد از اینکه ADK رو نصب کردیم با زدن کامنت زیر در Powershell وارد محیط ADK می‌شیم:

C:\Windows\system32\cmd.exe /k "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat" 

2.حالا Win PE رو توی هارد توی دایرکتوری خودمون کپی می‌کنیم:

"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\copype.cmd" amd64 "C:\NanoServer\WindowsPE AMD64 - Windows Server 2016 TP4 - Nano Server" 

3.با زدن کامند powershell بر می گردیم توی محیط Powershell.

4.توی فولدر Windows PE یه فولدر ایجاد میکنیم فقط برای اینکه فایل VHDمون رو توش بذاریم:

New-Item  -Path "C:\NanoServer\WindowsPE AMD64 - Windows Server 2016 TP4 - Nano Server\media\VHD"    -Type directory ; 

5.حالا VHDمون رو توی فولدری که ایجاد کردیم Copy می‌کنیم:

Copy-Item   -Path C:\NanoServer\NanoServer-Compute\NanoServer-Compute.vhd -Destination "C:\NanoServer\WindowsPE AMD64 - Windows Server 2016 TP4 - Nano Server\media\VHD" -Recurse  -Verbose ; 

6.دوباره بر می‌گردیم توی محیط ADK و فایل ISO مون رو Compile می‌کنیم:

a.	C:\Windows\system32\cmd.exe /k "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat" 
b.	"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\MakeWinPEMedia.cmd" /ISO "C:\NanoServer\WindowsPE AMD64 - Windows Server 2016 TP4 - Nano Server" "C:\NanoServer\NanoServer-Compute\Windows_Server_2016_TP4_-_Nano_Server_for_vSphere_6.0.ISO" 

حالا وقتشه که بریم توی محیط vSphere و VMمون رو بسازیم و فایل ISO رو توی ماشینمون به عنوان DVD بذاریم و ماشین رو روش کنیم. بعد از اینکه ماشین رو روشن کردیم windows PE بوت میشه و ما وارد محیط کامند می‌میشیم. حالا باید هارد دیسک ماشین VMwareمون رو که از نوع VMDK است پارتیشن بندی کنیم و فایل های Boot مربوط به Nano server رو توی پارتیشن سیستمیش بذاریم. پارتیشن بندی VMDK رو با diskpart انجام می‌دیم. دوتا پارتیشن میسازیم یکی به اسم S و به حجم 300مگابایت یه عنوان Syaytem partitionو یکی هم برای درایو C.

Diskpart
select disk 0
clean
create partition primary size=300
format fs=ntfs label="System Reserved" quick
assign letter=s
active 
create partition primary
format fs=ntfs label="Operating System" quick
assign letter=c
exit 

در مرحله ی بعد باید فایل VHD رو توی مسیر درایو C که ایجاد کردیم کپی و مانت کنیم و Drive letter V رو بهش بدیم (درایو D درایو CD-Rom ماشین مجازی است):

xcopy D:\VHD\NanoServer-Compute.vhd C:\ /V /F
diskpart
select vDisk File=C:\NanoServer-Compute.vhd
attach vDisk
select volume 3
assign letter=v
exit 

حالا به کمک کامند BCDBoot به ماشین میگیم که از روی این VHD بوت کنه. در واقع این کامند فایل های مورد نیاز برای بوت شدن ماشین رو توی درایو سیستمی S که ساختیم کپی میکنه:

V:
cd V:\Windows\System32
bcdboot V:\Windows /s S: 

حالا سیستم رو reboot میکنیم و اگر همه چیز درست انجام شده باشه Nano Server باید بوت بشه:

وب سایت توسینسو

نظرات