mount.nfs: ระบุตัวเลือกเมาต์ไม่ถูกต้อง


12

ฉันพยายามติดตั้งวอลลุ่ม NFS บนเซิร์ฟเวอร์ centos 7.2:

เมื่อฉันพยายามเมานต์จุดแบ่งปัน NFS นี่คือการตอบกลับที่ฉันได้รับ:

[root@web1:~] #mount -t nfs nfs1.example.com:/var/nfs/home /home
mount.nfs: an incorrect mount option was specified

ฉันตรวจสอบและnfs-utils-1.3.0-0.21.el7.x86_64ติดตั้งบนเครื่องทั้งสองแล้ว ทั้งไคลเอ็นต์ nfs และระบบปฏิบัติการเซิร์ฟเวอร์ nfs คือ Centos 7.2

เพื่อแก้ไขปัญหานี้ฉันลดรายชื่อลงในไฟล์ / etc / exports บนเซิร์ฟเวอร์ NFS เป็นเพียงต่อไปนี้:

/var/nfs/home web1.example.com(rw,sync,no_root_squash,no_all_squash)

ถ้าฉันทำshowmountจากเซิร์ฟเวอร์ฉันพยายามเมานต์แบ่งปัน nfs นี่คือสิ่งที่ฉันเห็น:

[root@web1:~] #showmount -e nfs1.example.com
Export list for nfs1.example.com:
/var/nfs/home web1.example.com

ถ้าฉันทำสิ่งmount -vนี้ฉันจะได้รับ:

[root@web1:~] #mount -v -t nfs nfs1.example.com:/var/nfs/home /home
mount.nfs: timeout set for Fri Jan 13 11:04:19 2017 mount.nfs: trying text-based options 'vers=4,addr=162.xxx.xxx..94,clientaddr=162.xxx.xxx.6'
mount.nfs: mount(2): Invalid argument mount.nfs: an incorrect mount option was specified

ใน dmesg ฉันพบ:

[44428.405419] nfsd: last server has exited, flushing export cache

และฉันเห็นสิ่งนี้ใน dmesg:

[ 7.373186] FS-Cache: Netfs 'nfs' registered for caching
[ 7.422181] Key type dns_resolver registered
[ 7.456581] NFS: Registering the id_resolver key type
[ 7.462309] Key type id_resolver registered
[ 7.462386] Key type id_legacy registered
[ 7.514441] SELinux: initialized (dev 0:40, type nfs4), uses genfs_contexts
[ 8.474503] NFSD: starting 90-second grace period (net ffffffff819a29c0) –
[ 16.952180] perf samples too long (2623 > 2500), lowering kernel.perf_event_max_sample_rate to 50000
[ 24.429251] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[ 38.368207] perf samples too long (5162 > 5000), lowering kernel.perf_event_max_sample_rate to 25000
[ 38.427323]

การไม่ระบุ-t nfsในคำสั่งจะให้ผลลัพธ์เหมือนกัน:

[root@nfs1:~] #mount nfs1.example.com:/var/nfs/home /home
mount.nfs: an incorrect mount option was specified

นี่คือระบบไฟล์ nfs ที่ฉันมี:

[root@nfs1:~] #grep nfs /proc/filesystems
nodev   nfsd
nodev   nfs
nodev   nfs4

นี่คือโมดูลที่โหลดสำหรับ nfs:

[root@nfs1:~] #lsmod | grep ^nfs
nfsv4                 474203  0
nfs                   241266  1 nfsv4
nfsd                  284378  13
nfs_acl                12837  1 nfsd

ไม่ใช่ปัญหาไฟร์วอลล์เพราะฉันได้รับความล้มเหลวที่แน่นอนเหมือนกันเมื่อฉันเรียกใช้คำสั่ง mount จากเซิร์ฟเวอร์ NFS เอง ได้รับข้อผิดพลาดเดียวกันกับที่ลูกค้าทำ

ฉันควรจะเน้นว่าสิ่งนี้ทำได้ในครั้งเดียวทำงานได้ดี แต่ตอนนี้มันแตกไปยังจุดที่ไม่สามารถใช้งานได้

ใครสามารถช่วยฉันแก้ไขปัญหานี้ได้ไหม ฉันติดอยู่ที่จุดนี้จริงๆ


เกิดขึ้นกับฉันปัญหาของคุณอาจเกี่ยวข้องกับกฎไฟร์วอลล์ คุณสามารถโพสต์เอาต์พุตของfirewall-cmd --query-service=nfs --query-service=mountd --query-service=rpc-bindจากเซิร์ฟเวอร์ NFS ได้หรือไม่
virtex

1
การพูด 'อนุญาต' อย่างเคร่งครัดจะไม่ถูกปิดใช้งานและจะยังคงสร้างข้อความ SELinux - แต่ SELinux จะไม่ปฏิเสธสิ่งใด ๆ ในการอนุญาต ในโหมดนั้นคุณสามารถละเว้นสิ่งที่ถูกปฏิเสธในบันทึก
Jason Martin

Jason Martin เข้าใจแล้ว! ขอบคุณสำหรับคำใบ้ใน SELinux
user99201

3
โปรดเรียกใช้rpcdebug -m nfs -s mountใหม่อีกครั้งจากนั้นพิมพ์สิ่งที่ออกมาจาก dmesg rpcdebug -m nfs -c mountจากนั้นเรียก ดูเหมือนว่าข้อผิดพลาดในการแยกวิเคราะห์อาจเป็นเพราะการแทนที่ที่ไม่ดีใน nfsmount.conf - มันควรจะปรากฏขึ้นแม้ว่าคุณจะทำเช่นนั้นในเคอร์เนล dmesg
Matthew Ife

คุณrpcbindติดตั้งบนเครื่องที่มีการแชร์หรือไม่?
13

คำตอบ:


5

พบปัญหาเดียวกันในวันนี้ ฉันสะดุดตัวเลือกnfsversเมื่อค้นหาคำอธิบาย ยึดทำงานร่วมกับและnfsvers=3 nfsvers=4ฉันยินดีที่จะอธิบายรายละเอียดเพิ่มเติม

root@localhost:~# uname -rm
4.1.15 armv7l
root@localhost:~# mount -t nfs 10.0.0.5:/srv/nfs tmp
mount.nfs: an incorrect mount option was specified
root@localhost:~# mount -t nfs -o nfsvers=1 10.0.0.5:/srv/nfs tmp
mount.nfs: mount system call failed
root@localhost:~# mount -t nfs -o nfsvers=2 10.0.0.5:/srv/nfs tmp
mount.nfs: requested NFS version or transport protocol is not supported
root@localhost:~# mount -t nfs -o nfsvers=3 10.0.0.5:/srv/nfs tmp
root@localhost:~# mount -t nfs -o nfsvers=4 10.0.0.5:/srv/nfs tmp
root@localhost:~#

คำสั่งสองคำสั่งสุดท้ายสำเร็จ


1

ฉันพบปัญหานี้ในวันนี้บน Tiny Core Linux กลายเป็นความจริงที่ว่าบริการลูกค้า nfs ยังไม่ได้เริ่ม เมื่อฉันเริ่มบริการนั้น ( /usr/local/etc/init.d/nfs-client start) การส่งออก NFS จะถูกเมาต์


1
/usr/local/etcดูเหมือนว่าการติดตั้ง nfs-client ไม่ถูกต้องเป็นไฟล์ที่ควรมีการ/etc/init.dเชื่อมโยงและเหมาะสม/etc/rc? .dเพื่อเริ่มโดยอัตโนมัติ
Jan Hudec

@JanHudec ใช่ใน distro ปกติ แต่สถาปัตยกรรมของ Tiny Core ไม่อนุญาตให้ทำเช่นนี้ เราสามารถถกเถียงมาตรฐานจนกว่าวัวจะกลับบ้าน แต่ JeOS บินไปเผชิญหน้ากับมาตรฐานเหมือนเดิม
แอรอนเมสัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.