Score:0

กำลังเรียกใช้แคช cachefilesd บน ramdisk (tmpfs) สำหรับการบูต PXE NFS

ธง mx

ฉันใช้ Ubuntu 20.04 LTS (เคอร์เนล 5.4.0-81-ทั่วไป) จาก PXE และฉันต้องการเพิ่มแคชในเครื่อง เนื่องจากฉันไม่ต้องการให้มีพาร์ติชันบนอุปกรณ์ทั้งหมดของฉันสำหรับการแคช ฉันจึงต้องการใช้แรมดิสก์เพื่อจุดประสงค์นั้น

ฉันจัดการเพื่อเปิดใช้งาน ตัวเลือกระหว่างการบู๊ตด้วยความช่วยเหลือของ คำตอบนี้.

อย่างไรก็ตามเมื่อฉันเรียกใช้ cachefilesd บริการมันล้มเหลวด้วย -95: ไม่รองรับการทำงาน อาจเป็นเพราะว่า tmpfs ไม่สนับสนุน user_xattrซึ่งจำเป็น

ฉันได้อ่าน ที่นี่ ที่คุณสามารถคอมไพล์/แพตช์เคอร์เนลเพื่อเปิดใช้งาน user_xattrแม้ว่านี่จะเป็นความเสี่ยงด้านความปลอดภัย นอกจากจะเป็นฝันร้ายในการบำรุงรักษาแล้ว ฉันยังไม่อยากไปไกลขนาดนั้นและเล่นซอโดยอัตโนมัติด้วยการอัพเดทเคอร์เนลทุกครั้ง

ฉันได้อ่าน ที่นี่ (ภาษาเยอรมัน) และ นี้ และมัน การตอบสนอง.

ระบุว่าคุณสามารถสร้าง tmpfs จากนั้นสร้างอุปกรณ์ย้อนกลับ จัดรูปแบบให้เป็น ext4 แล้วเรียกใช้ fs-cache ที่นั่น

อย่างไรก็ตาม เนื่องจากฉันใช้ PXE และจุดเชื่อมต่อ NFS คือ /ฉันจะทำอย่างไรระหว่างการบู๊ต โดยเฉพาะอย่างยิ่งก่อน cachedfilesd.service เริ่ม?

bootloader ของฉัน (vesamenu.c32)

# [...]
ป้ายกำกับ ubuntunfs
        ป้ายกำกับเมนู ^Ubuntu NFS
        ข้อความช่วย
เรียกใช้ Ubuntu จากระบบไฟล์เครือข่าย
        ข้อความปิดท้าย
        เคอร์เนล ubuntu/boot/vmlinuz
        เริ่มต้น ubuntu/boot/initrd.img
        ต่อท้าย root=/dev/nfs nfsroot=192.168.1.5:/srv/tftp/ubuntu,rw,fsc,relatime ip=dhcp rw
# [...]

fstab ของฉัน

/proc /proc proc ค่าเริ่มต้น 0 0
/sys /sys sysfs ค่าเริ่มต้น 0 0
/dev/nfs / ค่าเริ่มต้นของ nfs,relatime,fsc 1 1

# ramdisk สำหรับ fs-cache สำหรับ nfs
tmpfs /media/ramdisk ค่าเริ่มต้นของ tmpfs,size=5% 0 0

ไม่มี /tmp tmpfs ค่าเริ่มต้น 0 0
ไม่มี /var/run tmpfs ค่าเริ่มต้น 0 0
ไม่มี /var/lock tmpfs ค่าเริ่มต้น 0 0
ไม่มี /var/tmp tmpfs ค่าเริ่มต้น 0 0

/etc/cachefilesd.conf ของฉัน

ผู้อำนวยการ /media/ramdisk
แท็ก mycache
สีน้ำตาล 90%
คัด 70%
หยุด 30%
ฟรัน 90%
เต็ม 70%
หยุด 30%

กำจัดได้ 14
guiverc avatar
cn flag
โปรดระบุรายละเอียดผลิตภัณฑ์และการเปิดตัว
FalcoGer avatar
mx flag
@guiverc ฉันหวังว่าคุณจะหมายถึงเวอร์ชันอูบุนตูและเคอร์เนล ฉันได้เพิ่มเหล่านั้น
guiverc avatar
cn flag
ตามผลิตภัณฑ์, เซิร์ฟเวอร์ ubuntu, เดสก์ท็อป ubuntu, ubuntu core เป็นต้น & รายละเอียดการเผยแพร่ เช่น 20.04, 20.04.3, 20 ฯลฯ (หากมีการให้รายละเอียดผลิตภัณฑ์และการเปิดตัวแบบเต็ม เราทราบเคอร์เนล เช่น เซิร์ฟเวอร์ ubuntu 20.04 ใช้ GA หรือ 5.4 เคอร์เนล 20.ubuntu 20.04 เคอร์เนลเดสก์ท็อปคือ HWE ดังนั้นจะแตกต่างกันไปตามระดับการอัพเกรด 20.04 คือ 5.4, 20.04.2 คือ 5.8, 20.04.3 คือ 5.11 เป็นต้น Ubuntu Core 20 คือ ....) - 5.4 ของคุณบ่งบอกว่าเป็น 20.04 เซิร์ฟเวอร์ให้ฉันดังนั้นเคอร์เนล GA
FalcoGer avatar
mx flag
@guiverc ฉันติดตั้งด้วย debootstrap ฉันคิดว่ามันเป็นเซิร์ฟเวอร์หรือน้อยที่สุด
Score:0
ธง mx

ฉันทำด้วยบริการ systemd

[หน่วย]
Description=ตัวสร้างแคช
ก่อน = cachefilesd.service

[บริการ]
ExecStart=/bin/bash -c "dd if=/dev/zero of=/media/ramdisk/cache.ext4 bs=1k count=`df /media/ramdisk | tail -n 1 | sed -e 's/ \ +/ /g' | ตัด -d ' ' -f 2` && mke2fs /media/ramdisk/cache.ext4 && mount -o rw,noatime,nodiratime,user_xattr /media/ramdisk/cache.ext4 /media/cache/"
เริ่มต้นใหม่ = ไม่
Type=วันช็อต

[ติดตั้ง]
WantedBy=multi-user.target

สคริปต์กำลังนับบล็อก 1k (จาก ดีเอฟ) ของ ramdisk เป็นอินพุตสำหรับ ววไฟล์อินพุตของ (ถ้า=) อาร์กิวเมนต์ มิฉะนั้น dd จะส่งคืนรหัสข้อผิดพลาดเนื่องจากดิสก์เต็ม และ && จะไม่ทำงานในสถานการณ์นั้น เห็นได้ชัดว่าสิ่งนี้ใช้ได้เฉพาะเมื่อ ramdisk ว่างเปล่า

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา