Mulai libvirt saat kickstart instal RHEL7

1

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?

Bert
sumber

Jawaban:

0

Dari pada:

/usr/sbin/libvirtd -d &

Mencoba:

systemctl start libvirtd

Anda bisa menggunakan journalctluntuk melihat log systemd.

Juga, saya ingin tahu tentang --locationargumen Anda .

axus
sumber
Sudah mencoba, tetapi kemudian saya mendapatkan Running di chroot, mengabaikan permintaan.
Bert
Ah, itu sebabnya Anda mencoba memulainya dengan cara itu. Saya melihat beberapa referensi "firstboot" sebagai opsi, dan askubuntu.com/questions/156771/…
axus
Argumen lokasi harus berfungsi. Alasan mengapa saya menyatakan ini jika saya menjalankan perintah ini setelah instalasi selesai, maka tamu virtual siap untuk pergi. Sementara itu saya perhatikan bahwa virtualisasi bersarang tidak diaktifkan di komputer saya. Begitu saya bisa, saya akan mulai lagi dengan "kvm-intel.nested = 1" di grub saya dan lihat apakah itu membuat sesuatu yang berbeda atau tidak.
Bert
Tapi saya mungkin hanya membuat skrip selfdestruct untuk boot pertama. :-)
Bert
0

Saya tahu saya terlambat, tetapi untuk semua orang yang ingin melakukan sesuatu yang serupa di masa depan, saya sarankan Anda membuat systemdlayanan 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 systemddan (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 memilikinya curlatau wget(mengunduh) file systemd ke folder systemd yang di-host di server yang sama atau yang lain.

Parth Patel
sumber