ฉันกำลังพยายามทำให้ระบบไฟล์ NFS รูทระยะไกล (และบูต) ทำงานได้อย่างถูกต้อง และฉันกำลังใช้ความรู้ถึงขีดจำกัด ฉันสงสัยว่ามีใครสามารถชี้ทิศทางที่ถูกต้องให้ฉันได้บ้าง
เซิร์ฟเวอร์
ทั้ง TFTP และ NFS ให้บริการจากเราเตอร์ Linksys WRT 1900 ACS ที่ใช้ OpenWRT 19.07 อุปกรณ์นี้ยังมี SSD ภายนอกซึ่งใช้เป็นระบบไฟล์รูทแบบซ้อนทับ
https://openwrt.org/docs/guide-user/additional-software/extroot_configuration.
ลูกค้าแต่ละรายมีไฟล์ระบบรูทในไดเร็กทอรีนี้ (Ubuntu 21.04)
/nfs/ส่งออก/tftp/
และไดเร็กทอรีสำหรับบูตภายใต้
/tftp/tftpboot/
และนี่คือเนื้อหาของ /etc/exports:
/overlay/upper/nfs/exports/ *(rw,sync,no_subtree_check,no_root_squash) /overlay/upper/tftp/tftpboot/ *(rw,sync,no_subtree_check,no_root_squash)
ถ้าฉันไม่เพิ่มคำนำหน้า /overlay/upper/ ฉันก็จะเมานไดเร็กทอรีที่ส่งออกไม่ได้
ลูกค้า
ไคลเอ็นต์บูต PXE สำเร็จและโหลดระบบปฏิบัติการ (Ubuntu 21.04), ฉันสามารถเข้าสู่ระบบ, SSH ฯลฯ อย่างไรก็ตาม นี่ไม่ใช่ข้อผิดพลาดระหว่างการบูตเครื่อง หรือหากฉันพยายามอัปเกรด apt-get
ข้อผิดพลาดแรกที่ฉันเห็นระหว่างการบูทเครื่องคือ:
[ล้มเหลว] ไม่สามารถเริ่ม Remount Root and Kernel File System
แล้วต่อมาฉันเห็น
[ล้มเหลว] ไม่สามารถเมานต์ / บู๊ตได้
แต่เมื่อเข้าสู่ระบบ /boot ดูเหมือนจะถูกเมานต์
นี่คือ fstab จากลูกค้า
10.1.0.1:/overlay/upper/nfs/exports/tftp/68fe97e5 / ค่าเริ่มต้นของ nfs,_netdev,nfsvers=4.1,proto=tcp 0 0
10.1.0.1:/overlay/upper/tftp/tftpboot/68fe97e5 /boot ค่าเริ่มต้น nfs,_netdev,nfsvers=4.1,proto=tcp 0 0
tmpfs /tmp tmpfs ค่าเริ่มต้น 0 0
tmpfs /var/tmp tmpfs ค่าเริ่มต้น 0 0
tmpfs /var/run ค่าเริ่มต้น tmpfs 0 0
(ขออภัยเกี่ยวกับการจัดรูปแบบ)
และ /boot/cmdline.txt
net.ifnames=0 dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/nfs nfsroot=10.1.0.1:/overlay/upper/nfs/exports/tftp/68fe97e5,tcp ip=dhcp ลิฟต์=เส้นตาย rootwait fixrtc rw cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory
เมื่อฉันดูที่ systemctl systemd-remount-fs.service ฉันเห็นบรรทัดนี้
27 พฤษภาคม 15:10:08 น. rdg-clust-01 systemd-remount-fs[317]: mount.nfs: มีการระบุตัวเลือกการเมานต์ที่ไม่ถูกต้อง
ใครสามารถชี้ได้ว่าตัวเลือกใดที่ฉันเข้าใจผิด