bersama catatan peribadi & teknikalnya.

QEMU/KVM, FreeBSD & ZFS


geeky stuff

Experimenting with FreeBSD installation as a guest OS (manually) on a Virtual Machine and its ZFS file system (BIOS).

Untuk sistem fail berformat ZFS dan peranti maya jenis RAID10, kena ada sekurang-kurangnya empat cakera maya yang diperuntukkan untuk sistem ini.

Saya cipta empat imej cakera maya dengan setiap satunya bersaiz 10GiB.

qemu-img create -f qcow2 $HOME/laluan_ke_disk1.img 10G
qemu-img create -f qcow2 $HOME/laluan_ke_disk2.img 10G
qemu-img create -f qcow2 $HOME/laluan_ke_disk3.img 10G
qemu-img create -f qcow2 $HOME/laluan_ke_disk4.img 10G

Kemudian, load fail ISO terbaru FreeBSD yang telah dimuatturun; sekarang versi 13.1. Juga empat imej pemacu maya yang telah dijana tadi.
qemu-system-x86_64 -enable-kvm \
    -machine type=pc-q35-2.9,vmport=off,usb=on \
    -m 4G -cpu host -smp 4 \
    -device intel-hda -device hda-duplex -device virtio-balloon \
    -usb -device usb-tablet \
    -vga virtio -display gtk,gl=on,show-cursor=on \
    -display spice-app,gl=on -device virtio-serial-pci \
    -spice unix=on,addr=/tmp/vm_spice.socket,disable-ticketing=on -daemonize \
    -device ich9-usb-ehci1,id=usb \
    -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,multifunction=on \
    -device ich9-usb-uhci2,masterbus=usb.0,firstport=2 \
    -device ich9-usb-uhci3,masterbus=usb.0,firstport=4 \
    -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 \
    -chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 \
    -chardev spicevmc,name=usbredir,id=usbredirchardev3 -device usb-redir,chardev=usbredirchardev3,id=usbredirdev3 \
    -nic user,model=virtio-net-pci,id=nic0,hostfwd=tcp::40022-:22 \
    -drive file=$HOME/laluan_ke_disk1.img,index=0,media=disk,if=virtio,aio=native,cache.direct=on \
    -drive file=$HOME/laluan_ke_disk2.img,index=1,media=disk,if=virtio,aio=native,cache.direct=on \
    -drive file=$HOME/laluan_ke_disk3.img,index=2,media=disk,if=virtio,aio=native,cache.direct=on \
    -drive file=$HOME/laluan_ke_disk4.img,index=3,media=disk,if=virtio,aio=native,cache.direct=on \
    -cdrom $HOME/laluan_ke_FreeBSD-13.1-RELEASE-amd64-disc1.iso

Sesudah itu, bermulalah proses pemasangan dari pemasang FreeBSD yang termuat di dalam fail ISO berkenaan.
01:
Selamat datang ke pemasang FreeBSD.

02:
Self-explanatory.

03:
Self-explanatory.

04:
Pilih komponen yang mahu dipasang.

05:
ZFS ialah tetapan lalai.

06:
Self-explanatory.

07:
Pilih jenis bagi peranti maya yang diingini. RAID10 seperti yang digambarkan di dalam foto ini dikatakan menyediakan persembahan terbaik tetapi akan memakan saiz simpanan.

08:
Minima empat cakera maya untuk meneruskan pemasangan bagi peranti jenis RAID10.

09:
Pengesahan.

10:
Selesai pengekstrakan, masukkan kata laluan bagi root.

11:
Adapter virtio untuk sambungan kepada rangkaian Internet di VM.

12:
IPv4.

13:
DHCP.

14:
Biarkan pemasang yang menentukan.

15:
Saya biarkan dengan tetapan lalai.

16:
Self-explanatory.

17:
Self-explanatory.

18:
Kemas kini konfigurasi Resolver.

19:
Pilih zon masa, negara dan hal-hal seterusnya yang membabitkan lokaliti, tarikh serta masa.

20:
Default. Check atau uncheck sekiranya perlu. Saya suka masa di-synchronized.

21:
Default. Check sekiranya perlu.

22:
Ya untuk menambah pengguna.

23:
Masukkan pengguna ke dalam kumpulan wheel dan video.

24:
Pengesahan.

25:
Muktamadkan konfigurasi dan keluar daripada pemasang.

26:
Buka shell (chroot) untuk membuat konfigurasi manual.

27:
Di dalam chroot.

Kemas kini aplikasi pkg. Boleh juga pasang pakej-pakej yang diperlukan seperti doas (yang berfungsi sama seperti sudo), xorg dan editor.

pkg update

Pasang pakej utouch-kmod untuk integrasi tetikus sentuh dan tambahkan baris-baris berikut ke dalam fail /boot/loader.conf.
utouch_load="YES"
virtio_load="YES"
if_vtnet_load="YES"
virtio_balloon_load="YES"
virtio_blk_load="YES"
virtio_console_load="YES"
virtio_pci_load="YES"
virtio_random_load="YES"
kern.vty="vt"

Juga tambahkan baris pertama di bawah ke dalam fail /etc/rc.conf sekiranya perlu kepada pelayan paparan Xorg. Suka juga untuk saya tambahkan konfigurasi selainnya seperti berikut:-
dbus_enable="YES"
lightdm_enable="YES"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

Sesudah selesai urusan, keluar (taip exit).

28:
Pilih <Live CD> untuk tutup sistem dengan betul dan log masuk sebagai root.

29:
Tutup sistem atau reboot untuk memulakan konfigurasi Xorg.

Nota

Fail sample konfigurasi bagi xinitrc berada di laluan berikut jika berhajat untuk disalin ke $HOME dan disunting mengikut kegemaran peribadi:-
cp /usr/local/etc/X11/xinit/xinitrc .xinitrc


Kali terakhir dikemaskini:
Top