Ubuntu Hardy NFS4 bug

posted on 04 Mar 2009 17:21 by pongtawat  in linux-unix

ใน Ubuntu 8.04 LTS (hardy) ถ้าเราเปิดใช้ NFS4 server (nfs-kernel-serve r) แล้วไป map ที่เครื่องอื่น จะพบว่าที่ client จะเห็น owner ของไฟล์เป็น nobody:nobody เสมอ ไม่ว่าจะตั้งยังไง เหมือนกับ idmapd ไม่ทำงาน ทั้งๆ ที่มันก็ run อยู่

ถ้าลอง restart idmapd (ง่ายๆ คือ /etc/init.d/nfs-common restart) ดูจะพบว่า id mapping จะทำงานได้เป็นปกติทันที

หาอยู่นานว่าเกิดอะไรขึ้น ในที่สุดก็ไปเจอคำอธิบายใน Debian Bug 490181

ปัญหาที่เกิดขึ้นคือ idmapd มันต้องการใช้ไฟล์ใน /proc ซึ่งจะมีก็ต่อเมื่อ nfsd kernel module ถูก load แล้วเท่านั้น แต่ว่า nfsd module ถูก load ใน S20nfs-kernel-server ซึ่งทำงานหลังจาก S20nfs-common ซึ่งเป็นตัว start idmapd ดังนั้นตอนที่ idmapd start จึงยังไม่มี nfsd module อยู่ มันเลยทำงานได้ไม่สมบูรณ์

ปัญหานี้แก้ใน  nfs-utils 1:1.1.2-6 ซึ่งของ Ubuntu hardy และ intrepid เป็น 1:1.1.2-2 และ 1:1.1.2-4 ทำให้น่าจะมีํปัญหาเหมือนกันทั้งคู่

 วิธีแก้ขัดก็คือสั่งให้ nfsd module มัน load ก่อน nfs-common โดยง่ายที่สุดก็คือไปใส่ nfsd ไว้ใน /etc/modules

edit @ 9 Mar 2009 17:50:59 by pongtawat

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

Tweet