Bagikan melalui


Praktik Terbaik untuk menjalankan Linux di Hyper-V

Berlaku untuk: Windows Server 2022, Azure Stack HCI, versi 20H2; Windows Server 2019, Windows Server 2016, Hyper-V Server 2016, Windows Server 2012 R2, Hyper-V Server 2012 R2, Windows Server 2012, Hyper-V Server 2012, Windows Server 2008 R2, Windows 10, Windows 8.1, Windows 8, Windows 7.1, Windows 7

Topik ini berisi daftar rekomendasi untuk menjalankan komputer virtual Linux di Hyper-V.

Menyetel Sistem File Linux pada File VHDX Dinamis

Beberapa sistem file Linux mungkin mengonsumsi ruang disk nyata dalam jumlah yang signifikan bahkan ketika sistem file sebagian besar kosong. Untuk mengurangi jumlah penggunaan ruang disk nyata dari file VHDX dinamis, pertimbangkan rekomendasi berikut:

  • Saat membuat VHDX, gunakan 1MB BlockSizeBytes (dari default 32MB) di PowerShell, misalnya:
PS > New-VHD -Path C:\MyVHDs\test.vhdx -SizeBytes 127GB -Dynamic -BlockSizeBytes 1MB
  • Format ext4 lebih disukai untuk ext3 karena ext4 lebih hemat ruang daripada ext3 ketika digunakan dengan file VHDX dinamis.

  • Saat membuat sistem file, tentukan jumlah grup menjadi 4096, misalnya:

# mkfs.ext4 -G 4096 /dev/sdX1

Batas Waktu Menu Grub pada Komputer Virtual Generasi 2

Karena perangkat keras warisan dihapus dari emulasi di komputer virtual Generasi 2, timer hitung mundur menu grub menghitung mundur terlalu cepat agar menu grub ditampilkan, segera memuat entri default. Hingga grub diperbaiki untuk menggunakan timer yang didukung EFI, ubah /boot/grub/grub.conf, /etc/default/grub, atau setara dengan "timeout=100000" alih-alih default "timeout=5".

PxE Boot pada Komputer Virtual Generasi 2

Karena timer PIT tidak ada di Komputer Virtual Generasi 2, koneksi jaringan ke server TFTP PxE dapat dihentikan sebelumnya dan mencegah bootloader membaca konfigurasi Grub dan memuat kernel dari server.

Pada RHEL 6.x, bootloader EFI grub v0.97 warisan dapat digunakan alih-alih grub2 seperti yang dijelaskan di sini: https://access.redhat.com/documentation/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-netboot-pxe-config-efi.html

Pada distribusi Linux selain RHEL 6.x, langkah serupa dapat diikuti untuk mengonfigurasi grub v0.97 untuk memuat kernel Linux dari server PxE.

Selain itu, pada keyboard RHEL/CentOS 6.6 dan input mouse tidak akan berfungsi dengan kernel pra-instal yang mencegah menentukan opsi penginstalan di menu. Konsol serial harus dikonfigurasi untuk memungkinkan pemilihan opsi penginstalan.

  • Dalam file efidefault di server PxE, tambahkan parameter kernel berikut "console=ttyS1"

  • Pada VM di Hyper-V, siapkan port COM menggunakan cmdlet PowerShell ini:

Set-VMComPort -VMName <Name> -Number 2 -Path \\.\pipe\dbg1

Menentukan file kickstart ke kernel pra-instal juga akan menghindari kebutuhan akan input keyboard dan mouse selama penginstalan.

Menggunakan alamat MAC statis dengan pengklusteran failover

Komputer virtual Linux yang akan disebarkan menggunakan pengklusteran failover harus dikonfigurasi dengan alamat kontrol akses media statis (MAC) untuk setiap adaptor jaringan virtual. Di beberapa versi Linux, konfigurasi jaringan mungkin hilang setelah failover karena alamat MAC baru ditetapkan ke adaptor jaringan virtual. Untuk menghindari kehilangan konfigurasi jaringan, pastikan bahwa setiap adaptor jaringan virtual memiliki alamat MAC statis. Anda dapat mengonfigurasi alamat MAC dengan mengedit pengaturan komputer virtual di Manajer Hyper-V atau Manajer Kluster Failover.

Gunakan adaptor jaringan khusus Hyper-V, bukan adaptor jaringan lama

Konfigurasikan dan gunakan adaptor Ethernet virtual, yang merupakan kartu jaringan khusus Hyper-V dengan performa yang ditingkatkan. Jika adaptor jaringan warisan dan khusus Hyper-V dilampirkan ke komputer virtual, nama jaringan dalam output ifconfig -a mungkin menunjukkan nilai acak seperti _tmp12000801310. Untuk menghindari masalah ini, hapus semua adaptor jaringan warisan saat menggunakan adaptor jaringan khusus Hyper-V di komputer virtual Linux.

Gunakan noop/none penjadwal I/O untuk performa I/O disk yang lebih baik

Kernel Linux menawarkan dua set penjadwal I/O disk untuk menyusun ulang permintaan. Satu set adalah untuk subsistem 'blk' yang lebih lama dan satu set adalah untuk subsistem 'blk-mq' yang lebih baru. Dalam kedua kasus, dengan disk solid state saat ini disarankan untuk menggunakan penjadwal yang meneruskan keputusan penjadwalan ke hypervisor Hyper-V yang mendasar. Untuk kernel Linux yang menggunakan subsistem 'blk', ini adalah penjadwal "noop". Untuk kernel Linux yang menggunakan subsistem 'blk-mq', ini adalah penjadwal "tidak ada".

Untuk disk tertentu, penjadwal yang tersedia dapat dilihat di lokasi sistem file ini: /sys/class/block//<diskname>queue/scheduler, dengan penjadwal yang saat ini dipilih dalam tanda kurung siku. Anda dapat mengubah penjadwal dengan menulis ke lokasi sistem file ini. Perubahan harus ditambahkan ke skrip inisialisasi untuk bertahan di seluruh reboot. Lihat dokumentasi distro Linux Anda untuk detailnya.

NUMA

Versi kernel Linux yang lebih lama dari 2.6.37 tidak mendukung NUMA pada Hyper-V dengan ukuran VM yang lebih besar. Masalah ini terutama berdampak pada distribusi yang lebih lama menggunakan kernel Red Hat 2.6.32 hulu, dan diperbaiki di Red Hat Enterprise Linux (RHEL) 6.6 (kernel-2.6.32-504). Sistem yang menjalankan kernel kustom yang lebih lama dari 2.6.37, atau kernel berbasis RHEL yang lebih tua dari 2.6.32-504 harus mengatur parameter boot numa=off pada baris perintah kernel di grub.conf. Untuk informasi selengkapnya, lihat Red Hat KB 436883.

Pesan lebih banyak memori untuk kdump

Jika kernel pengambilan cadangan berakhir dengan kepanikan saat boot, simpan lebih banyak memori untuk kernel. Misalnya, ubah parameter crashkernel=384M-:128M menjadi crashkernel=384M-:256M dalam file konfigurasi grub Ubuntu.

Menyusutkan VHDX atau memperluas file VHD dan VHDX dapat mengakibatkan tabel partisi GPT yang salah

Hyper-V memungkinkan penyusutan file disk virtual (VHDX) tanpa memperhatikan struktur data partisi, volume, atau sistem file apa pun yang mungkin ada di disk. Jika VHDX diciutkan ke tempat akhir VHDX datang sebelum akhir partisi, data dapat hilang, partisi tersebut dapat menjadi rusak, atau data yang tidak valid dapat dikembalikan saat partisi dibaca.

Setelah mengubah ukuran VHD atau VHDX, administrator harus menggunakan utilitas seperti fdisk atau parted untuk memperbarui partisi, volume, dan struktur sistem file untuk mencerminkan perubahan ukuran disk. Menyusutkan atau memperluas ukuran VHD atau VHDX yang memiliki Tabel Partisi GUID (GPT) akan menyebabkan peringatan ketika alat manajemen partisi digunakan untuk memeriksa tata letak partisi, dan administrator akan diperingatkan untuk memperbaiki header GPT pertama dan sekunder. Langkah manual ini aman untuk dilakukan tanpa kehilangan data.

Referensi Tambahan