Saya punya tugas yang sangat bermasalah, dan satu hal membuat saya marah. Saya akan membuatnya sederhana: Sasaran: Instal CentOS7 dengan kickstart. Pada akhir instalasi sebagai skrip posting, ia harus memulai libvirtd dan membuat mesin virtual dengan perintah virt-install.
Dalam file kickstart saya, saya memiliki:
dd if=/dev/zero of=/var/lib/libvirt/images/fw.qcow2 bs=1024 count=0 seek=10G
/usr/sbin/libvirtd -d &
systemctl enable libvirtd
virt-install --name=firewall --disk path=/var/lib/libvirt/images/fw.qcow2 --ram=2048 --vcpus=2 --nographics --os-type=linux --os-variant=rhel7 --location /mnt/cdrom/CentOS-7-x86_64-Minimal-1511.iso --extra-args="console=tty0 console=ttyS0,115200 rd_NO_PLYMOUTH"
Namun pengalaman saya adalah: Saya tidak tahu apakah ini memulai libvirt, itu pasti mengaktifkannya karena setelah restart, libvirt sedang berjalan, tetapi OS tidak diinstal melalui virt-install. Dalam file ks-post.log, saya punya:
ERROR Cannot recv data: Connection reset bypeer
error: Dailed to connect to the hypervisor
error: no calid connection
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
Saya menganggap saya tidak dapat memulai libvirtd dengan benar dengan
/ usr / sbin / libvirtd -d &
perintah aku?
sumber
Saya tahu saya terlambat, tetapi untuk semua orang yang ingin melakukan sesuatu yang serupa di masa depan, saya sarankan Anda membuat
systemd
layanan yang hanya menjalankan skrip shell normal yang berisi perintah Anda. Perbedaan utama antara mengeksekusi perintah dalam lingkungan chroot di Kickstart dan boot normal OS adalah bahwa kernel mesin target tidak dimuat ke dalam eksekusi (saya tidak tahu persis) tetapi karena layanan tidak berjalan (termasuk semua daemon) Anda tidak akan dapat memulai 'service
' atau 'systemctl
'Layanan di lingkungan chroot kickstart. Saya menghadapi masalah yang sama, dan hanya membuat file systemd untuk lingkungan centos7 saya yang setelah reboot awal sistem, memulai server apache pada port 8080 dan menyalin-menempel beberapa file kustom, dan setelah eksekusi menghapus file systemd asli sehingga bahwa skrip shell yang sama tidak dipanggil setelah reboot pertama.CATATAN: agar teknik ini berfungsi, Anda harus menyalin rekatkan
systemd
dan (jika perlu) beberapa file lainnya dari media instalasi (iso) ke sistem file tujuan. Jika Anda tidak ingin melakukan itu, daripada di lingkungan chroot dari kickstart Anda sendiri, Anda dapat memilikinyacurl
atauwget
(mengunduh) file systemd ke folder systemd yang di-host di server yang sama atau yang lain.sumber