ການໃຊ້ງານ Fedora CoreOS ໂດຍກົງຈາກ RAM

ສະພາບແວດລ້ອມແບບ live ຂອງ Fedora CoreOS ແມ່ນສຳເນົາທີ່ເຮັດວຽກໄດ້ຢ່າງສົມບູນຂອງ Fedora CoreOS. ມັນສາມາດຕັ້ງຄ່າລະບົບດ້ວຍຕົວມັນເອງຜ່ານ Ignition, ລັນ container, ແລະ ອື່ນໆ. ສະພາບແວດລ້ອມແບບ live ສາມາດໃຊ້ເພື່ອ ຕິດຕັ້ງ Fedora CoreOS ລົງໃນດິດ, ແລະ ຍັງສາມາດໃຊ້ເພື່ອລັນ Fedora CoreOS ໂດຍກົງຈາກ RAM.

ຄູ່ມືນີ້ສະແດງວິທີການບູດລະບົບ Fedora CoreOS (FCOS) ແບບຊົ່ວຄາວຜ່ານ ISO, PXE, ຫຼື iPXE. ສຳລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບໄຟລ໌ live ISO ແລະ PXE, ໃຫ້ເບິ່ງ ບ່ອນອ້າງອີງໄຟລ໌ live image.

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

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

ຖ້າເຈົ້າບູດຈາກ PXE ຫຼື iPXE, ເຈົ້າຕ້ອງເກັບໄຟລ໌ການຕັ້ງຄ່າ Ignition ໄວ້ໃນເຊີເວີ HTTP(S) ຫຼື TFTP ທີ່ສາມາດເຂົ້າເຖິງໄດ້. ການບູດໄຟລ໌ live PXE ຕ້ອງໃຊ້ RAM ຢ່າງໜ້ອຍ 2 GiB ຫາກໃຊ້ argument kernel coreos.live.rootfs_url, ແລະ 4 GiB ສຳລັບກໍລະນີອື່ນໆ.

ການບູດຜ່ານ ISO

ໄຟລ໌ live ISO ສາມາດບູດໄດ້ຈາກແຜ່ນ DVD, ຢູເອສບີ (USB stick), ຫຼື ຈາກໄດຣຟ໌ CD ຈຳລອງຜ່ານເຟີມແວ lights-out management (LOM).

ເພື່ອບູດຈາກໄຟລ໌ ISO, ໃຫ້ປະຕິບັດຕາມຂັ້ນຕອນດັ່ງນີ້:

  • ດາວໂຫຼດໄຟລ໌ ISO:

    podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
        quay.io/coreos/coreos-installer:release download -f iso
  • ໃຊ້ coreos-installer iso customize ເພື່ອປັບແຕ່ງ ISO ຕາມຄວາມຕ້ອງການຂອງເຈົ້າ. ໃນຕົວຢ່າງນີ້ ເຮົາສົມມຸດວ່າໄຟລ໌ການຕັ້ງຄ່າ Ignition ມີຢູ່ໃນໄຟລ໌ config.ign. ເຮົາຍັງໄດ້ເພີ່ມ argument kernel coreos.liveiso.fromram ເຂົ້າໃນການບູດແບບ live ນຳອີກ.

    coreos.liveiso.fromram ແມ່ນທາງເລືອກ ແລະ ໃຊ້ໃນກໍລະນີທີ່ເຈົ້າບໍ່ຕ້ອງການໃຫ້ມີການອ້າງອີງເຖິງສື່ທີ່ໃຊ້ບູດ (ISO) ເມື່ອລະບົບເລີ່ມເຮັດວຽກແລ້ວ. ສິ່ງນີ້ຊ່ວຍໃຫ້ສາມາດຖອດສື່ບູດອອກຫຼັງຈາກບູດແລ້ວ ຫຼື ຂຽນຂໍ້ມູນທັບລົງໃນດິດທີ່ໃຊ້ບູດໄດ້, ແຕ່ຕ້ອງໃຊ້ໜ່ວຍຄວາມຈຳ (memory) ເພີ່ມຂຶ້ນ.
    KERNEL_ARG='--live-karg-append=coreos.liveiso.fromram'
    IGNITION_ARG='--live-ignition=./config.ign'
    podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
        quay.io/coreos/coreos-installer:release iso customize $KERNEL_ARG $IGNITION_ARG \
        -o customized.iso fedora-coreos-44.20260621.3.1-live.x86_64.iso
  • ຂຽນໄຟລ໌ ISO ລົງໃນແຜ່ນ ຫຼື ຢູເອສບີ. ໃນ Linux ແລະ macOS, ເຈົ້າສາມາດໃຊ້ຄຳສັ່ງ dd. ໃນ Windows, ເຈົ້າສາມາດໃຊ້ Rufus ໃນໂໝດ "DD Image".

  • ບູດມັນຢູ່ໃນລະບົບເປົ້າໝາຍ.

ການບູດຜ່ານ PXE

ເພື່ອບູດຈາກ PXE, ໃຫ້ປະຕິບັດຕາມຂັ້ນຕອນດັ່ງນີ້:

  • ດາວໂຫຼດ FCOS PXE kernel, initramfs, ແລະ rootfs image:

podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
    quay.io/coreos/coreos-installer:release download -f pxe
  • ປະຕິບັດຕາມຕົວຢ່າງ pxelinux.cfg ນີ້ ເພື່ອບູດໄຟລ໌ຕິດຕັ້ງດ້ວຍ PXELINUX ແລະ ລັນ Ignition:

DEFAULT pxeboot
TIMEOUT 20
PROMPT 0
LABEL pxeboot
    KERNEL fedora-coreos-44.20260621.3.1-live-kernel.x86_64
    APPEND initrd=fedora-coreos-44.20260621.3.1-live-initramfs.x86_64.img,fedora-coreos-44.20260621.3.1-live-rootfs.x86_64.img ignition.firstboot ignition.platform.id=metal ignition.config.url=http://192.168.1.101/config.ign
IPAPPEND 2

ການບູດຜ່ານ iPXE

ເຄື່ອງທີ່ຮອງຮັບ iPXE ຕ້ອງໄດ້ຮັບການຕັ້ງຄ່າດ້ວຍ Boot Script ທີ່ກ່ຽວຂ້ອງເພື່ອໄປດຶງ ແລະ ໂຫຼດໄຟລ໌ປະກອບຂອງ FCOS.

ຕົວຢ່າງດ້ານລຸ່ມສະແດງໃຫ້ເຫັນວິທີການໂຫຼດໄຟລ໌ເຫຼົ່ານັ້ນໂດຍກົງຈາກລະບົບຂອງ Fedora. ເພື່ອປະສິດທິພາບ ແລະ ຄວາມໜ້າເຊື່ອຖື, ແນະນຳໃຫ້ສ້າງ mirror ໄວ້ໃນລະບົບພາຍໃນຂອງທ່ານເອງ, ແລ້ວປ່ຽນ BASEURL ຕາມຄວາມເໝາະສົມ.

#!ipxe

set STREAM stable
set VERSION 44.20260621.3.1
set CONFIGURL https://example.com/config.ign

set BASEURL https://builds.coreos.fedoraproject.org/prod/streams/${STREAM}/builds/${VERSION}/x86_64

kernel ${BASEURL}/fedora-coreos-${VERSION}-live-kernel.x86_64 initrd=main coreos.live.rootfs_url=${BASEURL}/fedora-coreos-${VERSION}-live-rootfs.x86_64.img ignition.firstboot ignition.platform.id=metal ignition.config.url=${CONFIGURL}
initrd --name main ${BASEURL}/fedora-coreos-${VERSION}-live-initramfs.x86_64.img

boot

ການໃຊ້ສະຖານະຄົງທີ່

ໂດຍປົກກະຕິ, ສະພາບແວດລ້ອມແບບ live ຂອງ Fedora CoreOS ຈະບໍ່ມີການເກັບຂໍ້ມູນໃດໆໄວ້ໃນດິດ, ແລະ ຈະຖືກຕັ້ງຄ່າໃໝ່ທຸກຄັ້ງທີ່ບູດ. ແນວໃດກໍຕາມ, ເຈົ້າສາມາດເລືອກເກັບບາງສະຖານະທີ່ຕ້ອງການໃຫ້ຄົງຢູ່ (ເຊັ່ນ: ໄຟລ໌ container images) ໄວ້ໃນລະບົບໄຟລ໌ (filesystem) ທີ່ຍັງຄົງຢູ່ເຖິງແມ່ນວ່າຈະມີການບູດເຄື່ອງໃໝ່. ຕົວຢ່າງ, ນີ້ແມ່ນການຕັ້ງຄ່າ Butane ທີ່ຕັ້ງຄ່າ /var ໃຫ້ເປັນແບບຄົງທີ່:

variant: fcos
version: 1.1.0
storage:
  disks:
    - device: /dev/sda
      wipe_table: true
      partitions:
        - label: var
  filesystems:
    - device: /dev/disk/by-partlabel/var
      label: var
      format: xfs
      wipe_filesystem: false
      path: /var
      with_mount_unit: true

ເມື່ອບູດສະພາບແວດລ້ອມແບບ live, ການຕັ້ງຄ່າ Ignition ຈະເຮັດວຽກໃນທຸກໆການບູດ, ດັ່ງນັ້ນ ຄວນຫຼີກເວັ້ນການລຶບຂໍ້ມູນ (wiping) ໃນ LUKS volumes ແລະ ລະບົບໄຟລ໌ທີ່ເຈົ້າຕ້ອງການໃຊ້ຄືນ. ແທນທີ່ຈະເຮັດແນວນັ້ນ, ໃຫ້ຕັ້ງຄ່າໂຄງສ້າງເຫຼົ່ານັ້ນເພື່ອໃຫ້ມັນຖືກສ້າງຂຶ້ນໃນການບູດຄັ້ງທຳອິດ ແລະ ຖືກຮັກສາໄວ້ໃນການບູດຄັ້ງຕໍ່ໆໄປ.

ໂດຍສະເພາະ, ໃຫ້ໝາຍເຫດຄຳແນະນຳດັ່ງຕໍ່ໄປນີ້:

  • ຫຼີກເວັ້ນການຕັ້ງຄ່າ wipe_filesystem ຫຼື wipe_volume ສຳລັບ ລະບົບໄຟລ໌ ຫຼື LUKS volumes ທີ່ເຈົ້າຕັ້ງໃຈຈະໃຊ້ຄືນ. (ເຈົ້າສາມາດຕັ້ງຄ່າ wipe_table ຫຼື wipe_partition_entry ໄດ້ຢ່າງປອດໄພເມື່ອໃຊ້ດິດຄືນໃໝ່, ເພາະວ່າສິ່ງເຫຼົ່ານັ້ນບໍ່ໄດ້ປ່ຽນແປງຂໍ້ມູນພາຍໃນ partition.)

  • ເມື່ອໃຊ້ LUKS volumes ຄືນໃໝ່, ເຈົ້າຕ້ອງຕັ້ງຄ່າ key_file. Ignition ບໍ່ສາມາດໃຊ້ LUKS volumes ທີ່ຮອງຮັບໂດຍ Clevis ຄືນໃໝ່ໄດ້.

  • ຫຼີກເວັ້ນການຂຽນຂໍ້ມູນຄົງທີ່ລົງໃນ RAID volumes, ເພາະວ່າ Ignition ບໍ່ສາມາດໃຊ້ສິ່ງເຫຼົ່ານັ້ນຄືນໃໝ່ໄດ້.

  • ເມື່ອຂຽນໄຟລ໌ໃນບ່ອນເກັບຂໍ້ມູນຄົງທີ່, ໃຫ້ຕັ້ງຄ່າ overwrite ເປັນ true ເພື່ອຫຼີກເວັ້ນຄວາມຜິດພາດຂອງ Ignition ເມື່ອມີການໃຊ້ລະບົບໄຟລ໌ຄືນໃໝ່ທີ່ມີໄຟລ໌ນັ້ນຢູ່ແລ້ວ. ຫຼີກເວັ້ນການໃຊ້ຄຳສັ່ງ append ສຳລັບໄຟລ໌ຄົງທີ່, ເພາະວ່າການດຳເນີນການ append ຈະເກີດຂຶ້ນໃນທຸກໆການບູດ.

ຂັ້ນຕອນການອັບເດດ

ເນື່ອງຈາກຂັ້ນຕອນການອັບເກຣດ FCOS ແບບດັ້ງເດີມຕ້ອງໃຊ້ດິດ, ສະພາບແວດລ້ອມແບບ live ຈຶ່ງບໍ່ສາມາດອັບເດດອັດຕະໂນມັດໄດ້. ດ້ວຍເຫດນີ້, Zincati ຈຶ່ງບໍ່ໄດ້ເຮັດວຽກຢູ່ນັ້ນ.

ສຳລັບລະບົບທີ່ບູດຜ່ານ PXE, ແນະນຳໃຫ້ມີການປັບປຸງໄຟລ໌ທີ່ອ້າງອີງໃນການຕັ້ງຄ່າ PXE ຢ່າງສະໝໍ່າສະເໝີ. ເມື່ອໂຄງລ່າງພື້ນຖານ ແລະ ການຕັ້ງຄ່າຖືກອັບເດດແລ້ວ, ລະບົບ live PXE ພຽງແຕ່ຕ້ອງໄດ້ຮັບການບູດໃໝ່ເພື່ອເລີ່ມການໃຊ້ງານ FCOS ເວີຊັນໃໝ່.

ສຳລັບລະບົບທີ່ບູດຜ່ານ ISO, ໄຟລ໌ ISO ທີ່ໃຊ້ບູດສະພາບແວດລ້ອມແບບ live ຄວນໄດ້ຮັບການປັບປຸງເປັນໄລຍະ, ແລະ ຕ້ອງບູດລະບົບໃໝ່ເພື່ອອັບເດດ OS ທີ່ກຳລັງລັນຢູ່.