ການອັບເດດອັດຕະໂນມັດ ແລະ ການຍ້ອນກັບດ້ວຍຕົນເອງ
Fedora CoreOS ໃຫ້ການອັບເດດແບບອະໂຕມິກ (atomic) ແລະ ການຍ້ອນກັບຜ່ານການຕິດຕັ້ງ OSTree.
ໂດຍພື້ນຖານແລ້ວ, ລະບົບປະຕິບັດການຈະເຮັດການອັບເດດອັດຕະໂນມັດຢ່າງຕໍ່ເນື່ອງຜ່ານສອງສ່ວນປະກອບ:
-
rpm-ostree ຈັດການການຕິດຕັ້ງ OSTree ຫຼາຍອັນໃນດິສກ໌ ແລະ ສາມາດສະຫຼັບລະຫວ່າງພວກມັນໄດ້ໃນເວລາບູດເຄື່ອງ (boot-time).
-
Zincati ກວດສອບການອັບເດດຂອງລະບົບປະຕິບັດການຢ່າງຕໍ່ເນື່ອງ ແລະ ນຳໃຊ້ພວກມັນຜ່ານ rpm-ostree.
ຄວາມລະມັດລະວັງໃນການອັບເດດ
ຕົວແທນ Zincati ໃນເຄື່ອງຈະກວດສອບກັບບໍລິການທາງໄກເປັນໄລຍະເພື່ອເບິ່ງວ່າ ມີການອັບເດດໃໝ່ຫຼືບໍ່. ຄ່າ "rollout wariness" (ເບິ່ງ ເອກະສານອ້າງອີງ) ສາມາດກຳນົດໄດ້ເພື່ອໃຫ້ເຊີເວີຮູ້ວ່າ ໂນດ (node) ນັ້ນພ້ອມຮັບ ຫຼື ຕ້ອງການຫຼີກລ່ຽງຄວາມສ່ຽງໃນການຮັບອັບເດດຫຼາຍປານໃດ.
ພາລາມິເຕີ rollout_wariness ສາມາດຕັ້ງຄ່າເປັນເລກທົດສະນິຍົມ ລະຫວ່າງ 0.0 (ພ້ອມຮັບທີ່ສຸດ) ແລະ 1.0 (ລະມັດລະວັງທີ່ສຸດ). ເພື່ອ ຮັບການອັບເດດໃນຊ່ວງເລີ່ມຕົ້ນຂອງຮອບວຽນການປ່ອຍອັບເດດ, ໂນດສາມາດຖືກ ຕັ້ງຄ່າດ້ວຍຄ່າທີ່ຕ່ຳ (ເຊັ່ນ: 0.001). ສາມາດເຮັດໄດ້ໃນລະຫວ່າງ ການຈັດຕຽມລະບົບໂດຍໃຊ້ຕົວຢ່າງການຕັ້ງຄ່າ Butane ດັ່ງລຸ່ມນີ້:
variant: fcos
version: 1.7.0
storage:
files:
- path: /etc/zincati/config.d/51-rollout-wariness.toml
contents:
inline: |
[identity]
rollout_wariness = 0.001
ການເຮັດໃຫ້ການອັບເດດລະບົບປະຕິບັດການສຳເລັດ
ເພື່ອໃຫ້ການອັບເດດລະບົບປະຕິບັດການສຳເລັດ, ເຄື່ອງຈະຕ້ອງໄດ້ບູດໃໝ່ (reboot). ເນື່ອງຈາກ ນີ້ເປັນການກະທຳທີ່ມີຜົນກະທົບເຊິ່ງອາດເຮັດໃຫ້ການບໍລິການຢຸດຊົ່ວຄາວ, Zincati ຈຶ່ງ ອະນຸຍາດໃຫ້ຜູ້ດູແລລະບົບຄລັດສະເຕີ (cluster) ສາມາດຄວບຄຸມເວລາທີ່ອະນຸຍາດໃຫ້ໂນດບູດໃໝ່ ເພື່ອໃຫ້ການອັບເດດສຳເລັດໄດ້.
ມີຍຸດທະສາດການເຮັດໃຫ້ສຳເລັດດັ່ງຕໍ່ໄປນີ້:
-
ທັນທີທີ່ດາວໂຫຼດການອັບເດດ ແລະ ກຽມພ້ອມໃນເຄື່ອງແລ້ວ, ໃຫ້ບູດໃໝ່ທັນທີ ເພື່ອຈັດຕັ້ງການອັບເດດ.
-
ໃຊ້ຕົວຈັດການການລັອກ (lock-manager) ຈາກພາຍນອກ ເພື່ອປະສານງານການບູດໃໝ່ຂອງກຸ່ມເຄື່ອງຈຳນວນຫຼາຍ.
-
ອະນຸຍາດໃຫ້ບູດໃໝ່ໄດ້ສະເພາະໃນຊ່ວງເວລາບຳລຸງຮັກສາທີ່ຕັ້ງຄ່າໄວ້ເທົ່ານັ້ນ, ເຊິ່ງກຳນົດ ຕາມຕາຕະລາງ UTC ລາຍອາທິດ.
ສາມາດຕັ້ງຄ່າຍຸດທະສາດການເຮັດໃຫ້ສຳເລັດສະເພາະໃນແຕ່ລະໂນດໄດ້.
ຕົວຢ່າງ Butane ດັ່ງລຸ່ມນີ້ ສະແດງວິທີການກຳນົດ ຊ່ວງເວລາບຳລຸງຮັກສາສອງຊ່ວງໃນວັນຢຸດສຸດອາທິດ, ເລີ່ມແຕ່ເວລາ 22:30 UTC ແລະ ໃຊ້ເວລາຊ່ວງລະໜຶ່ງຊົ່ວໂມງ:
variant: fcos
version: 1.7.0
storage:
files:
- path: /etc/zincati/config.d/55-updates-strategy.toml
contents:
inline: |
[updates]
strategy = "periodic"
[[updates.periodic.window]]
days = [ "Sat", "Sun" ]
start_time = "22:30"
length_minutes = 60
ສຳລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບການເຮັດໃຫ້ການອັບເດດສຳເລັດ, ສາມາດກວດສອບໄດ້ທີ່ ເອກະສານອ້າງອີງຂອງ Zincati.
ການຖອຍຄືນດ້ວຍຕົນເອງ
ເມື່ອການອັບເດດສຳເລັດແລ້ວ, ການຕິດຕັ້ງ OS ກ່ອນໜ້າຍັງຄົງຢູ່ໃນດິດ. ຫາກການອັບເດດເຮັດໃຫ້ເກີດບັນຫາ, ທ່ານສາມາດໃຊ້ມັນເປັນຕົວສຳຮອງໄດ້. ນີ້ແມ່ນການດຳເນີນການດ້ວຍຕົນເອງ ເຊິ່ງຈຳເປັນຕ້ອງມີການຈັດການໂດຍຜູ້ໃຊ້ ແລະ ການເຂົ້າເຖິງຜ່ານຄອນໂຊນ.
ການຖອຍຄືນຊົ່ວຄາວ
ເພື່ອບູດເຂົ້າສູ່ການຕິດຕັ້ງ OS ກ່ອນໜ້າແບບຊົ່ວຄາວ, ໃຫ້ກົດ Shift ຄ້າງໄວ້ໃນລະຫວ່າງຂະບວນການບູດ OS. ເມື່ອເມນູຕົວໂຫລດບູດປະກົດຂຶ້ນ, ໃຫ້ເລືອກລາຍການ OS ທີ່ກ່ຽວຂ້ອງໃນເມນູນັ້ນ.
ການຖອຍຄືນຖາວອນ
ເພື່ອຍ້ອນກັບໄປໃຊ້ການຕິດຕັ້ງ OS ກ່ອນໜ້າແບບຖາວອນ, ໃຫ້ເຂົ້າສູ່ລະບົບໃນໂນດເປົ້າໝາຍ ແລະ ຣັນຄຳສັ່ງດັ່ງຕໍ່ໄປນີ້:
# ຢຸດການບໍລິການທີ່ເຮັດໜ້າທີ່ອັບເດດແບບອັດຕະໂນມັດ
sudo systemctl stop zincati.service
# ກຳນົດໃຫ້ການຕິດຕັ້ງ OS ກ່ອນໜ້າເປັນຄ່າເລີ່ມຕົ້ນ ແລະ ເລີ່ມລະບົບໃໝ່ເຂົ້າສູ່ມັນທັນທີ
sudo rpm-ostree rollback -r
ກະລຸນາຮັບຊາບວ່າ Zincati ຈະສືບຕໍ່ກວດສອບການອັບເດດ ແລະ ອັບເກຣດເປັນການຕິດຕັ້ງ OS ໃໝ່ທີ່ມີໃຫ້, ນອກເໜືອຈາກລຸ້ນທີ່ທ່ານຫາກໍ່ຍ້ອນກັບໄປ.
ຫາກທ່ານຕ້ອງການ, ທ່ານສາມາດປິດການອັບເດດອັດຕະໂນມັດໄວ້ຊົ່ວຄາວ. ຫຼັງຈາກນັ້ນ, ທ່ານສາມາດເປີດໃຊ້ງານພວກມັນຄືນໃໝ່ ເພື່ອໃຫ້ເຄື່ອງກັບມານຳໃຊ້ການອັບເດດຕາມປົກກະຕິ:
# ປິດການໃຊ້ງານ Zincati ເພື່ອຍົກເລີກການອັບເດດອັດຕະໂນມັດໃນອະນາຄົດ
sudo systemctl disable --now zincati.service
[...]
# ໃນພາຍຫຼັງ, ໃຫ້ເປີດໃຊ້ງານມັນຄືນໃໝ່ເພື່ອໃຫ້ສອດຄ່ອງກັບເວີຊັນລ່າສຸດຂອງສະຕຣີມ
sudo systemctl enable --now zincati.service
Want to help? Learn how to contribute to Fedora Docs ›