ການຕິດຕັ້ງ Fedora CoreOS ເທິງ QEMU

ຄູ່ມືນີ້ສະແດງໃຫ້ເຫັນວິທີການຕິດຕັ້ງ Fedora CoreOS (FCOS) ອິນສະແຕນຊ໌ໃໝ່ ເທິງ hypervisor QEMU ໂດຍກົງ.

ສິ່ງທີ່ຕ້ອງມີມາກ່ອນ

ກ່ອນທີ່ຈະຕິດຕັ້ງເຄື່ອງ FCOS, ທ່ານຕ້ອງມີໄຟລ໌ການກຳນົດຄ່າ Ignition ທີ່ມີການປັບແຕ່ງຂອງທ່ານ. ຖ້າທ່ານຍັງບໍ່ມີ, ໃຫ້ເບິ່ງ ການສ້າງໄຟລ໌ Ignition.

Fedora CoreOS ມີຜູ້ໃຊ້ core ເປັນຄ່າເລີ່ມຕົ້ນທີ່ສາມາດໃຊ້ເພື່ອສຳຫຼວດລະບົບປະຕິບັດການໄດ້. ຖ້າທ່ານຕ້ອງການໃຊ້ມັນ, ໃຫ້ເຮັດຂັ້ນຕອນສຸດທ້າຍຂອງ ການກຳນົດຄ່າ ໂດຍການລະບຸ ເຊັ່ນ: SSH key.

ທ່ານຍັງຈໍາເປັນຕ້ອງມີສິດເຂົ້າເຖິງເຄື່ອງແມ່ຂ່າຍ (host machine) ທີ່ຮອງຮັບ KVM. ຕົວຢ່າງຂ້າງລຸ່ມນີ້ແມ່ນໃຊ້ເຄື່ອງມືຄຳສັ່ງ (command-line tool) qemu-kvm, ເຊິ່ງຕ້ອງໄດ້ຕິດຕັ້ງໄວ້ກ່ອນຕ່າງຫາກ.

ຖ້າຫາກແລ່ນໂດຍເປີດໃຊ້ SELinux, ໃຫ້ແນ່ໃຈວ່າໄຟລ໌ຮູບພາບ OS ແລະ ໄຟລ໌ Ignition ຂອງທ່ານຖືກກຳນົດເລເບວ (label) ເປັນ svirt_home_t, ຕົວຢ່າງໂດຍການວາງພວກມັນໄວ້ໃນ ~/.local/share/libvirt/images/.

ການບູດ VM ໃໝ່ເທິງ QEMU

ພາກສ່ວນນີ້ສະແດງໃຫ້ເຫັນວິທີການບູດ VM ໃໝ່ເທິງ QEMU. ອີງຕາມແພລດຟອມ, ໄຟລ໌ Ignition ຈະຖືກສົ່ງໄປໃຫ້ VM, ເຊິ່ງຈະກຳນົດຄ່າຄີ (key) opt/com.coreos/config ໃນອຸປະກອນກຳນົດຄ່າເຟີມແວ (firmware configuration device) ຂອງ QEMU.

ທ່ານສາມາດໃຊ້ -snapshot ເພື່ອໃຫ້ qemu-kvm ຈອງພື້ນທີ່ຈັດເກັບຂໍ້ມູນຊົ່ວຄາວໃຫ້ກັບ VM, ຫຼື ໃຊ້ qemu-img create ເພື່ອສ້າງ layered qcow2 ກ່ອນ.

ການດຶງຂໍ້ມູນໄຟລ໌ຮູບພາບ QCOW2

ດຶງຂໍ້ມູນຮູບພາບລ່າສຸດທີ່ເໝາະສົມກັບສາຍການພັດທະນາ (stream) ທີ່ເຈົ້າຕ້ອງການ (ຫຼື ດາວໂຫຼດ ແລະ ກວດສອບ ມັນຈາກເວັບໄຊ).

STREAM="stable"
coreos-installer download -s $STREAM -p qemu -f qcow2.xz --decompress -C ~/.local/share/libvirt/images/

ການຕັ້ງຄ່າ VM ໃໝ່

ເປີດໃຊ້ VM ໃໝ່ໂດຍໃຊ້ qemu-kvm.

ໃນໂໝດ snapshot, ການປ່ຽນແປງທັງໝົດທີ່ເກີດຂຶ້ນຫຼັງຈາກບູດຈະຖືກລຶບຖິ້ມເມື່ອປິດເຄື່ອງ. ຖ້າທ່ານຕ້ອງການເກັບຮັກສາການປ່ຽນແປງໄວ້, ແນະນຳໃຫ້ຕັ້ງຄ່າດິສກ໌ແບບຖາວອນ (persistent disk) ໄວ້ຕ່າງຫາກກ່ອນ.

ການເປີດໃຊ້ FCOS ດ້ວຍ QEMU (ບ່ອນເກັບຂໍ້ມູນຊົ່ວຄາວ)
IGNITION_CONFIG="/path/to/example.ign"
IMAGE="/path/to/image.qcow2"
# for x86/aarch64:
IGNITION_DEVICE_ARG="-fw_cfg name=opt/com.coreos/config,file=${IGNITION_CONFIG}"

# for s390x/ppc64le:
IGNITION_DEVICE_ARG="-drive file=${IGNITION_CONFIG},if=none,format=raw,readonly=on,id=ignition -device virtio-blk,serial=ignition,drive=ignition"

qemu-kvm -m 2048 -cpu host -nographic -snapshot \
  -drive "if=virtio,file=${IMAGE}" ${IGNITION_DEVICE_ARG} \
  -nic user,model=virtio,hostfwd=tcp::2222-:22
ການເປີດໃຊ້ FCOS ດ້ວຍ QEMU (ບ່ອນເກັບຂໍ້ມູນຖາວອນ)
qemu-img create -f qcow2 -F qcow2 -b "${IMAGE}" my-fcos-vm.qcow2
qemu-kvm -m 2048 -cpu host -nographic \
  -drive if=virtio,file=my-fcos-vm.qcow2 ${IGNITION_DEVICE_ARG} \
  -nic user,model=virtio,hostfwd=tcp::2222-:22

ການສຳຫຼວດລະບົບປະຕິບັດການ

ດ້ວຍເຄືອຂ່າຍແບບ usermode ຂອງ QEMU, ທີ່ຢູ່ IP ທີ່ຖືກກຳນົດໃຫ້ຈະບໍ່ສາມາດເຂົ້າເຖິງໄດ້ຈາກເຄື່ອງ host.

ຕົວຢ່າງຂ້າງເທິງແມ່ນໃຊ້ hostfwd ເພື່ອສົ່ງຕໍ່ພອດ SSH ຈາກເຄື່ອງ guest ໄປຫາ local host (ພອດ 2222) ຕາມທີ່ເລືອກ.

ຖ້າທ່ານຕັ້ງຄ່າ SSH key ສຳລັບຜູ້ໃຊ້ core ເປັນຄ່າເລີ່ມຕົ້ນ, ທ່ານສາມາດ SSH ເຂົ້າໄປໃນ VM ຜ່ານພອດທີ່ສົ່ງຕໍ່ມາໄດ້:

ssh -p 2222 core@localhost