Mengapa server nfs dipasang sebagai rw kembali hanya membaca kesalahan sistem file

18

Saya sedang mengerjakan Ubuntu Server 64bit. Saya telah memasang nfs sebagai rw, tetapi setiap kali saya mencoba mengedit apa pun pada mountpoint yang dimaksud, saya mendapatkan kesalahan sistem file read-only.

saya etc/fstabmembaca:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/product-root /               ext4    errors=remount-ro 0       1
UUID=1cae6948-ca9d-4f0b-aec6-9e7a60bbbad8 /boot           ext2    defaults        0       2
/dev/mapper/product-swap_1 none            swap    sw              0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
vnxnfs1.company.com:/NFS2         /mnt/nfs2                        nfs     defaults       0       0

mount pengembalian:

/dev/mapper/product-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
vnxnfs1.company.com:/NFS2 on /mnt/nfs2 type nfs (rw)

cat /proc/mounts pengembalian:

rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=16465812k,nr_inodes=4116453,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,relatime,size=6590172k,mode=755 0 0
/dev/mapper/product-root / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
none /sys/fs/fuse/connections fusectl rw,relatime 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/kernel/security securityfs rw,relatime 0 0
none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0
/dev/sda1 /boot ext2 rw,relatime,errors=continue 0 0
rpc_pipefs /run/rpc_pipefs rpc_pipefs rw,relatime 0 0
vnxnfs1.company.com:/NFS2 /mnt/nfs2 nfs rw,relatime,vers=3,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=172.x.y.z,mountvers=3,mountport=1234,mountproto=udp,local_lock=none,addr=172.x.y.z 0 0

File di mnt membaca dengan baik tetapi setiap kali saya mencoba mengubah apa pun saya mendapatkan kesalahan:

touch: cannot touch `/mnt/nfs2/path/to/test_file.txt': Read-only file system

Saya dapat terhubung ke nfs yang dimaksud dari server lain dan membaca dan menulis dengan baik. Satu-satunya masalah adalah di server ini. Saya telah mencoba mount -o remount,rw vnxnfs1.company.com:/NFS2 /mnt/nfs2sebagai jawaban untuk pertanyaan terkait menyarankan, tetapi tidak berhasil.

Maaf untuk dump data, saya hanya mencoba memasukkan apa pun yang dapat menghasilkan petunjuk.

EDIT:

keterangan lebih lanjut

Saya telah menguji dari rootpengguna pada mesin dengan masalah, dan menulis ke nfs bekerja dari rootdan juga userdari server lain (nfs-write-is-working).

dari server yang bekerja: ls -la /mnt/nfs2/

total 76
drwxrwxrwx 12 root root   1024 2013-04-18 10:14 .
drwxr-xr-x 24 root root   4096 2013-04-17 10:42 ..
drwxrwxr-x  2 user user   80 2013-04-18 10:14 archives
drwxrwxrwx  2 user user   1024 2012-08-15 10:13 assignee_dealiasing_temp_folder
drwxrwxr-x  9 user user   1024 2013-03-11 13:50 data_runs
drwxrwxrwx  2 user user   2048 2013-04-19 14:54 db_transfer_dumps
drwxrwxrwx  2 root daemon 1024 2013-08-22 01:00 .etc
drwxrwxrwx  2 root root   8192 2012-08-16 14:47 lost+found
drwxr-xr-x 13 user user   1024 2013-08-16 13:37 projects
drwxr-xr-x 35 user user   2048 2013-05-10 16:34 reports
drwxrwxrwx  6 root root   1024 2013-04-17 16:47 saved_logs

dari vnxnfs1 server_export server_2 -list

server_2 :
export "/NFS3" rw=172.16.0.0/24 root=172.16.0.0/24
export "/NFS2" rw=172.16.0.0/24:172.16.9.0/24 root=172.16.0.0/24:172.16.9.0/24
export "/NFS1" rw=172.16.0.0/24:172.16.9.0/24 root=172.16.0.0/24:172.16.9.0/24
export "/ISO" rw=172.16.9.16:172.16.9.18:172.16.9.20 root=172.16.9.16:172.16.9.18:172.16.9.20
export "/NFS0" rw=172.16.0.0/24 root=172.16.0.0/24
export "/" anon=0 access=128.221.252.100:128.221.253.100:128.221.252.101:128.221.253.101
stupac8908
sumber
Apakah Anda memiliki / etc / ekspor dari server vnxnfs1? Apakah pengguna yang Anda uji memiliki hak untuk menulis di sana (root squash / UID tidak diketahui dll)? Jika Anda dapat melakukan "ls -la" di server yang berfungsi dari direktori NFS2, mungkin membantu
TheFiddlerWins

Jawaban:

9

Kesalahan 'Sistem file hanya baca' menunjukkan bahwa sistem file diekspor sebagai hanya baca. Opsi rw mount memberi tahu klien bahwa 'WRITE' diizinkan untuk dikirim ke server. Pada sistem unix biasa, periksa / etc / ekspor file:

/NFS2 172.x.y.z(rw)

pada peralatan, periksa dokumentasi untuk diekspor sebagai baca-tulis.

kofemann
sumber
1
/ etc / ekspor kosong di server nfs saya, saya pikir ini karena admin lama kami mengaturnya sehingga server_exportutilitas menangani fungsi ini. Dan Anda benar bahwa server yang dimaksud tidak termasuk dalam blok IP yang ditetapkan sebagai rw dari server_export server -ldaftar. Terima kasih!
stupac8908
7

Ekspor folder induk (ro) akan menggantikan ekspor anak (rw).

Contoh ekspor:

/NFS_ROOT *(ro)
/NFS_ROOT/SHARE1 *(rw)

SHARE1 akan menjadi hanya-baca karena NFS_ROOT hanya-baca. Anda memiliki kendala pada direktori root yang diekspor yang mungkin menyebabkan masalah.

Brian Walton
sumber
6

Seperti kata Brian, ekspor orang tua dapat menggantikan ekspor anak. Tetapi Anda dapat menyelesaikan ini dengan menambahkan prioritas pada ekspor Anda. Jadi, menggunakan contoh Brian, ini akan memecahkan masalah:

/NFS_ROOT *(ro,fsid=2)
/NFS_ROOT/SHARE1 *(rw,fsid=1)
Xmister
sumber
2

Jika mountpoint Anda pada klien adalah /var/share, pastikan itu dibuat dengan hak disetel ke 777:

chmod 777 /var/share

Kalau tidak, Anda mungkin memiliki kesalahan aneh aneh di mana Anda dapat menulis hanya dengan root tetapi memiliki RO dengan semua pengguna lain, hak file yang dipasang seperti ---------atau perilaku aneh lainnya.

sja
sumber
1
Dalam kasus saya folder induk dari pembagian itu bukan 777 - terima kasih.
HDave