Latest Entries »

การอัพเกรด ESXi สามารถทำได้หลายวิธี ปกติผมจะใช้วิธีสร้าง USB Boot ESXi Installer แต่วันนี้จะมาใช้วิธี online upgrade ผ่าน cli

โดยเริ่มจาก
1) SSH หรือ console ที่ ESXi ขอละไม่พูดถึงวิธีเปิด service ดังกล่าวนะครับ
2) จากนั้นพิมพ์ vmware -v เพื่อตรวจสอบเวอร์ชั่นก่อนอัพเกรด

[root@NUC-1:~] vmware -v
VMware ESXi 6.0.0 build-3620759
[root@NUC-1:~]

3) เปิดไฟร์วอลล์ด้วยคำสั่ง

[root@NUC-1:~] esxcli network firewall ruleset set -e true -r httpClient
[root@NUC-1:~]

4) list เวอร์ชั่นอัพเกรดที่มี

[root@NUC-1:~] esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION /main/vmw-depot-index.xml | grep -i ESXi-6.5 | sort

จะได้ผลลัพธ์เป็น

ESXi-6.5.0-20170104001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170104001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170301001s-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170301001s-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170304001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170304001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170304101-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170304101-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170404001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170404001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170701001s-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170701001s-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170702001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170702001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20171004001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20171004001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-4564106-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-4564106-standard VMware, Inc. PartnerSupported
[root@NUC-1:~]

no-tools หมายถึงไม่รวม VMware Tools
standard จะรวม VMware Tools มาด้วย แต่จำนวนข้อมูลที่ต้องดาวโหลดก็มาขึ้นอีกนิดหน่อย

5) สั่งอัพเกรด ด้วยเวอร์ชั่นที่ต้องการ

[root@NUC-1:~] [root@NUC-1:~] esxcli software profile update -p ESXi-6.5.0-20170104001-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

จะได้ผลลัพธ์ยาวมาก ตัวยย่างข้างล่างตัดมาแค่บางส่วน แต่ตอนต้นๆ จะมีบอกว่า “Reboot Required: true”

Update Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: VMW_bootbank_ata-libata-92_3.00.9.2-16vmw.650.0.0.4564106, VMW_bootbank_ata-pata-amd_0.3.10-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-atiixp_0.4.6-4vmw.650.0.0.4564106, VMW_bootbank_ata-pata-cmd64x_0.2.5-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-pdc2027x_1.0-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-serverworks_0.4.3-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-sil680_0.4.8-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-via_0.3.3-2vmw.650.0.0.4564106, VMW_bootbank_block-cciss_3.6.14-10vmw.650.0.0.4564106, VMW_bootbank_char-random_1.0-3vmw.650.0.0.4564106, VMW_bootbank_ehci-ehci-hcd_1.0-

6) เสร็จแล้วก็ปิดไฟร์วอลล์ ที่เปิดไว้ด้วยคำสั่ง

[root@NUC-1:~] esxcli network firewall ruleset set -e false -r httpClient


7) แล้วก็ reboot

[root@NUC-1:~] reboot

8) ถ้าอยากตรวจสอบก็ SSH เข้าไปรัน vmware -v อีกครั้ง

[root@NUC-1:~] vmware -v
VMware ESXi 6.0.0 build-4887370
[root@NUC-1:~]

อ้างอิงจาก
How to Upgrade ESXi 6.0 to 6.5 via CLI [On Line]

Advertisements

โดยค่ามาตรฐาน VMware vSphere ESXi สามารถทำงานร่วมกับ Synology NAS ได้ทั้ง iSCSI และ NFS แต่จะมีเฉพาะ iSCSI เท่านั้นที่สามารถทำ hardware acceleration เป็นค่าดีฟอล์ท ซึ่งหากใช้เป็น NFS จะทำให้มีปัญหา performance ได้ ต้องติดตั้งเพิ่มต่างหาก

เริ่มต้นสังเกตุที่ NFS datastore จะบอกว่า Unsupported

ดังนั้นจึงจำเป็นต้องติดตั้งไดรเวอร์หรือ vib ของ Synology NFS เสียก่อน โดยสามารถดาวน์โหลดได้ที่นี่ synonfs-vaai-plugin-1.1-1004.vib และ esx-nfsplugin.vib

แล้วก็อัพโหลดเข้าไปใน ESXi (อย่าลืมไป enable SSH service ก่อนนะครับ) ในรูปผมอัพโหลดด้วย FileZilla ง่ายดี

แล้วก็ connect ด้วย SSH ไปที่ ESXi

[root@NUC-3:~] esxcli software vib install -v /tmp/esx-nfsplugin.vib --no-sig-check

Installation Result
    Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
    Reboot Required: true
    VIBs Installed: Synology_bootbank_esx-nfsplugin_1.0-1
    VIBs Removed:
    VIBs Skipped:
[root@NUC-3:~]
[root@NUC-3:~] esxcli software vib install -v /tmp/synonfs-vaai-plugin-1.1-1004.vib --no-sig-check
Installation Result
    Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
    Reboot Required: true
    VIBs Installed: Synology_bootbank_synonfs-vaai-plugin_1.1-1004
    VIBs Removed:
    VIBs Skipped:
[root@NUC-3:~]

หลังจากนั้น reboot ESXi ก็จะใช้งานได้ หากต้องการตรวจสอบหลังจาก reboot สามารถเข้าไปดูได้ที่

[[root@NUC-3:~] esxcli software vib list | grep 'nfs'
esx-nfsplugin 1.0-1 Synology VMwareAccepted 2017-10-22
synonfs-vaai-plugin 1.1-1004 Synology VMwareAccepted 2017-10-22
[root@NUC-3:~]

เมื่อตรงสอบผ่าน vSphere Web Client ก็จะเห็นเป็น Supported แบบนี้

อ้างอิงจาก
How do I install Synology NFS VAAI Plug-in on an ESXi host?
Synology NFS Plug-in for VMware VAAI

ในวินโดวส์รุ่นใหม่ๆ เราสามารถคำนวณ file integrity checking โดยที่ไม่ต้องติดตั้งโปรแกรมอื่นเพิ่มเติมเพียงใช้คำสั่ง Get-FileHash ดังนี้

PS D:\Software> Get-FileHash .\VMware-VCSA-all-6.5.0-5178943.iso

Algorithm Hash Path
--------- ---- ----
SHA256 328B6842A980287E5268CF657152C7D4746DBE2EF2DCE999E759BB9BB0DA3119 D:\Software\VMware-VCSA-all-6.5.0-5178943.iso

ซึ่งถ้าดูลำบากอาจเพิ่ม Format-List แบบนี้

PS D:\Software> Get-FileHash .\VMware-VCSA-all-6.5.0-5178943.iso | Format-List

Algorithm : SHA256
Hash : 328B6842A980287E5268CF657152C7D4746DBE2EF2DCE999E759BB9BB0DA3119
Path : D:\Software\VMware-VCSA-all-6.5.0-5178943.iso

ถ้าอยากได้ MD5 หรือ hash algorithm อื่นๆ ก็ระบุลงไปตามต้องการ

PS D:\Software> Get-FileHash .\VMware-VCSA-all-6.5.0-5178943.iso -Algorithm MD5 | Format-List

Algorithm : MD5
Hash : 59B457E5FFC1A59D3E784CCFC2DF1745
Path : D:\Software\VMware-VCSA-all-6.5.0-5178943.iso

แต่ถ้าวินโดวส์เก่าๆ ที่ไม่มี PowerShell ก็สามารถไปดาวน์โหลด utility Microsoft File Checksum Integrity Verifier (FCIV) ได้ ที่นี่ เช่นเดิมครับ

อ้างอิงจาก Microsoft MSDN Get-FileHash

ไลเซ่นของบริษัทไมโครซอร์ฟจะมีการขายขาดอยู่ 3 ลักษณะ

    1) OEM License – เป็นชนิดที่มีราคาถูกที่สุด แต่มีเงื่อนไขคือต้องซื้อพร้อมกับเครื่องคอมพิวเตอร์ที่ส่งมาจากผู้ผลิตมาซื้อทีหลังไม่ได้ และถ้าเครื่องคอมพิวเตอร์หาย ถูกขโมย หรือหมดอายุไม่สามารถย้ายไปใช้ที่เครื่องอื่นได้
    2) Open License – เป็นลักษณะที่ซื้อเป็นจำนวนมาก 5 ข้อดีคือสามารถใช้คีย์เดียวกันในการ activate ได้ สามารถย้ายเครื่องได้ แต่ราคาจะแพงกว่า OEM
    3) FPP – เป็นการซื้อซอร์ฟแวร์ที่อยู่ในกล่อง มีคู่มือการใช้และคำอธิบายมาด้วย ราคาจะแพงที่สุด

โดยปกติการขายให้กับหน่วยงานและบริษัทจะเป็นแบบ Open License ยกเว้นต้องการราคาที่ถูกอาจขายเป็นแบบ OEM ครับ ทั้งนี้ไม่รวมไลเซ่นชนิดที่เป็น subscription base เช่น Office 365 หรือ MSDN นะครับ

ดังนั้นถ้าเห็นแก่ว่าของถูกแม้จะ activate Windows ได้ แต่ถ้าใช้ผิดชนิดก็มีโอกาสที่ BSA จะมาเยี่ยมและถูกปรับอยู่ดีครับ

ถ้าข้อมูลที่ผมผิดหรือไม่ครบ รบกวนช่วยแจ้งด้วยนะครับ เนื่องจากไม่ได้ขายไมโครซอร์ฟมาหลายปีแล้ว

โดยปกติ VMware ESXi ที่เป็นเวอร์ชันฟรีที่ไม่มี license ของ vCenter Server ๗ะไม่สามารถใช้คำสั่ง clone ได้ แต่อย่างไรก็ตามเรายังสามารถ copy vmdk file ผ่านทาง command line ได้ แล้วค่อยสร้าง VM ตัวใหม่ให้มาเรียกใช้ vmdk file ทีหลังก็ได้ ซึ่งสามารถทำได้โดยใช้คำสั่ง vmkfstools

เริ่มจาก
1) สร้าง directory สำหรับ VM ใหม่ ชื่อว่า Server2

[root@ESXi-1:~] cd /vmfs/vmfs/volumes/volume_A
[root@ESXi-1:/vmfs/volumes/volume_A] mk Server2

2) ใช้คำสั่ง vmkfstools แล้วตามด้วย -i source_vmdk destination_vmdk และระบุชนิดของดิสก์ด้วย -d thin ดังนี้

[root@ESXi-1:/vmfs/volumes/volume_A] vmkfstools -i ./Server1/Server1.vmdk ./Server2/Server2.vmdk -d thin

3) รอจนครบ 100% ระยะเวลาขึ้นอยู่กับขนาดของไฟล์ vmdk และความเร็วของ datastore

[Destination disk format: VMFS thin-provisioned
Cloning disk './Server1/Server1.vmdk'...
Clone: 100% done.

สำหรับ syntax และ option อื่นๆ ของ vmkfstools สามารถดูได้ที่ Cloning or Converting a Virtual Disk or RDM

ในการทำระบบ Active Directory เรามักจะสร้าง domain controller อย่างน้อย 2 เครื่องเพื่อให้ระบบมี high availability ที่สูงขั้น เผื่อเครื่องหนึ่งหยุดทำงานระบบจะได้ไม่หยุดชะงัก และในบางครั้งที่หน่วยงานมีการทำ security ในคอนเซป least privilege คือไม่ยอมให้ account Administrator แต่ให้สร้างเป็น account ธรรมดาที่มีสิทธิ์ขั้นต่ำแค่ promote domain controller ได้เท่านั้น สามารถทำได้โดยเพิ่ม account ดังกล่าวเข้าในกรุ๊ปดังต่อไปนี้

  • Domain Admins
  • Enterprise Admins
  • Schema Admins

แต่อย่างไรก็ตาม account ดังกล่าวก็ยังไม่สามารถ login เข้าไปในเครื่อง domain controller เพื่อตรวจสอบการทำงานหลังจาก promote ได้ เพื่อให้ login ได้จำเป็นต้องเพิ่มอีก 1 กรุ๊ปคือ

  • Administrators

สังเกตุว่าถ้าเป็นกรุ๊ปจะมี “s” ต่อท้าย แต่ถ้าเป็นผู้ใช้งาน (คน) จะไม่มี “s” เช่น Administrators กับ Administrator

รูปข้างล่างแสดง tab Member Of ซึ่งจะบอกได้ว่าอยู่ในกรุ๊ปไหนบ้างMinimum_Privilege_to_Promote_Domain_Controller_1
สำหรับ Domain Users จะเป็นกรุ๊ปที่ถูกเพิ่มโดยอัตโนมัติเวลาสร้างผู้ใช้งานใหม่

สำหรับคนที่ใช้ VMware ESXi ตั้งแต่เวอร์ชั่น 6.0 Update 2 ขึ้นไป (ตอนนี้ยังไม่มีใหม่กว่านี้ แต่เขียนเผื่อไว้ก่อน) สามารถบริหารจัดการ VMware ESXi ได้โดยไม่จำเป็นต้องติดตั้ง vSphere Client ก่อนใช้งาน โดยสามารถเปิดใช้งานผ่านเวปบราวเซอร์ได้เหมือนกับ vSphere Web Client แบบไม่ต้องมี vCenter Server ด้วย

วิธีการใช้งานคือ
1) เปิดเวปบราวเซอร์ แล้วกรอก IP หรือ name ของ ESXi จะพบว่ามีเมนูใหม่เพิ่มมาคือ Open the VMware Host Client คลิ๊กได้เลยVMware_Host_Client_1

2) จะพบหน้าให้ login ก็ใช่ user กับ password แล้วก็ login
VMware_Host_Client_2

3) เราสามารถบริหารจัดการได้เหมือนกับ vSphere Client เลย เพียงแค่เมนูอยู่คนละที่เท่านั้น โดยมีฟีเจอร์ที่น่าสนใจคือสามารถเปิด console ของ VM ภายในเหน้าเดิมได้ ไม่ต้องติดตั้ง plugin ใดๆ เพิ่มด้วย
VMware_Host_Client_3

ใครที่ดูแลระบบ Active Directory แล้วรันคำสั่ง dcdiag อาจจะเจอ error เกี่ยวกับ NCSsecDesc ตามตัวอย่างด้านล่าง

Starting test: NCSecDesc
  Error NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS doesn't have
      Replicating Directory Changes In Filtered Set
  access rights for the naming context:
  DC=ForestDnsZones,DC=company,DC=co,DC=th
  Error NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS doesn't have
      Replicating Directory Changes In Filtered Set
  access rights for the naming context:
  DC=DomainDnsZones,DC=company,DC=co,DC=th
  ......................... SERVER01 failed test NCSecDesc

อ้างอิงจาก Microsoft KB967482 ไม่ต้องตกใจนะครับ มันเป็น error ที่จะเกิดขึ้นเมื่อไม่ได้รัน adprep /rodcprep ซึ่งถ้าคุนไม่ได้ใช้ read only domain controller (RODC) ก็สามารถปล่อยข้าม error นี้ได้

แต่ถ้าไม่สบายใจอยากให้มันหายไปเลยก็สามารถทำได้โดย เพิ่ม permission ให้กับ ENTERPRISE DOMAIN CONTROLLERS ให้มีสิทธิ์ Replicating Directory Changes In Filtered Set ที่ DC=ForestDnsZones,DC=company,DC=co,DC=th และ DC=DomainDnsZones,DC=company,DC=co,DC=th ได้ตามรูปข้างล่างครับ

1) เปิด ADSI Edit แล้วใส่ Connection Point ไปที่ DC=ForestDnsZones,DC=company,DC=co,DC=th จากนั้นกด OK
DCDIAG_NCSecDesc_Fail_1

2) ขยาย แล้วคลิ๊กขวาที่ ForestDnsZones เลือก Properties
DCDIAG_NCSecDesc_Fail_2

3) ไปที่ tab Security เลื่อนกรุ๊ปลงมาจนเจอ ENTERPRISE DOMAIN CONTROLLERS แล้วเลื่อน permission ลงมาจนเจอ Replicating Directory Changes In Filtered Set ให้ติ๊กถูกด้านหน้า
DCDIAG_NCSecDesc_Fail_3

4) ทำซ้ำข้อ 1-3 กับ DC=DomainDnsZones,DC=company,DC=co,DC=th

5) เมื่อรัน dcdiag อีกครั้งก็จะไม่พบ error แล้ว

Starting test: NCSecDesc
  ......................... SERVER01 passed test NCSecDesc

Credit: Microsoft TechNet Social DCDIAG – NCSecDesc error

ในช่วงปีที่ผ่านมามีคำถามเกี่ยวกับ กรณีที่เครื่องคิดไวรัสเรียกค่าไถ่หรือที่เรียกว่า ransomware ทางออกที่คุณทำได้มีไม่มากนักครับ โดยได้แก่
1) นำ backup ที่มีอยู่มา restore ซะ วิธีนี้เป็นวิธีที่ดีที่สุดครับ เพราะมีข้อมูลกลับมาให้ใช้แน่ๆ เม้ว่าอาจเก่าไปบ้าง แต่หลายๆ ครั้งสิ่งที่เกิดขึ้นคือมีแต่ server backup ไม่มี client backup งั้นไปดูข้อค่อไป
2) ถ้าไม่มี client backup แต่ยังเปิดฟีเจอร์ volume shadow copies หรือ previous version ก็ยังสามารถ restore ได้นะครับ
3) จ่ายเงินค่าไถ่ครับ วิธีนี้จะได้ผลก็ต่อเมื่อคุณจ่ายเงินภายในเวลาที่เค้ากำหนดก่อนที่จะลบ encryption key ไป รวมทั้งคุณติด ransomware เพียงแค่ตัวเดียวเท่านั้น เพราะถ้าติด 2 ตัว แล้วตัวไหนเข้ารหัสก่อน เข้าหลังจะรู้ได้อย่างไร
4) ทำใจครับ
หลังจากเลือกแนวทางแก้ไขได้แล้ว สิ่งที่ควรต้องทำในอนาคตเพื่อป้องกัน ransomware คืออัพเดต virus signature ให้ใหม่อยู่เสมอ และทำ client backup หรือ file server backup อย่างสม่ำเสมอเช่นกันครับ

ปล. สร้าง backup job กันแล้วอย่าลือทดสอบ restore อย่างน้อยปีละ 1 ครั้งด้วยนะครับ เพื่อจะได้มั่นใจว่าที่ backup ไป สามารถ restore กลับมาใช้งานได้จริง

โดยปกติแล้ว 1 public IP address (1 TCP port: TCP\443) จะติดตั้ง SSL certificate ได้แค่ใบเดียว เนื่องจากกระบวนการคุยของ HTTPS
1) TCP 3-way handcheck
2) SSL/TLS request
3) HTTP request
ซึ่งจะทำให้ web server ไม่ทราบว่า client ต้องการเช้าเวปไหน จึงจะส่ง certificate ได้แค่ 1 ใบเท่านั้น

แต่จากปัญหาดังกล่าวเมื่อใช้งานกับ web server ที่มีเวปไซต์ในเครื่องจำนวนมาก หรือที่ Apache เรียกว่า virtual host ก็จะมีเพียงเวปไซต์เดียวที่สามารถใช้งาน SSL ได้ ดังนั้นจึงมีการปรับปรุงขึ้นโดยเรียกว่า Server Name Indication (SNI) ซึ่งในขั้นตอนที่ 2 SSL/TLS request จะมีการส่ง host address เช่นเดียวกับ http/1.1 ในขั้นตอนก่อนที่ web server จะส่ง SSL certificate ซึ่งทำให้ web server ทราบได้ว่า client จะใช้เวปไซต์ไหน แล้วจึงเลือกส่ง SSL certificate ให้เหมาะกับ client นั้นๆ ได้

โดยในปัจจุบันทั้ง web server และ browser ก็สนับสนุนการทำงาน SNI กันหมดแล้วครับ