rw로 마운트 된 nfs 서버가 읽기 전용 파일 시스템 오류를 리턴하는 이유


18

우분투 서버 64 비트에서 일하고 있습니다. nfs를 rw로 마운트했지만 문제의 마운트 지점에서 아무것도 편집하려고 할 때 읽기 전용 파일 시스템 오류가 발생합니다.

etc/fstab읽은 내용 :

# <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 보고:

/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 보고:

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

mnt의 파일은 잘 읽었지만 아무것도 변경하려고 할 때마다 오류가 발생합니다.

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

다른 서버에서 문제의 nfs에 연결하고 잘 읽고 쓸 수 있습니다. 유일한 문제는이 서버에 있습니다. mount -o remount,rw vnxnfs1.company.com:/NFS2 /mnt/nfs2관련 질문에 대한 답변이 제안 했지만 시도 하지 않았습니다.

데이터 덤프에 대해 죄송합니다. 단서를 얻을 수있는 모든 것을 포함하려고했습니다.

편집하다:

자세한 내용은

나는에서 테스트 된 root문제로 시스템에 사용자 및 NFS에 쓰는 것은에서 작동 root뿐만 아니라 user다른 (NFS-쓰기 - 노력하고 있습니다) 서버에서.

작업 서버에서 : 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

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

vnxnfs1 서버에서 / etc / exports가 있습니까? 테스트하고있는 사용자가 거기에 쓸 수있는 권한이 있습니까 (루트 스쿼시 / UID 알 수 없음)? NFS2 디렉토리의 작업 서버에서 "ls -la"를 수행 할 수 있다면 도움이 될 것입니다.
TheFiddlerWins

답변:


9

'읽기 전용 파일 시스템'오류는 파일 시스템이 읽기 전용으로 내보내 졌음을 나타냅니다. rw 마운트 옵션은 클라이언트에게 'WRITE'가 서버로 전송 될 수 있음을 알려줍니다. 일반적인 유닉스 시스템에서는 / etc / exports 파일을 확인하십시오 :

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

어플라이언스에서 문서를 확인하여 읽기 / 쓰기로 내보내십시오.


1
내 nfs 서버에서 / etc / exports가 비어 있습니다. 이전 관리자가 server_export유틸리티가이 기능을 처리 하도록 설정했기 때문이라고 생각 합니다. 그리고 해당 서버가 server_export server -l목록 에서 rw로 지정된 IP 블록에 포함되지 않은 것이 맞습니다 . 감사!
stupac8908

7

상위 폴더 (ro)를 내 보내면 하위 내보내기 (rw)가 무시됩니다.

수출 예 :

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

NFS_ROOT가 읽기 전용이므로 SHARE1은 읽기 전용입니다. 익스포트 된 루트 디렉토리에 제한이 있으며 이로 인해 문제점이 발생할 수 있습니다.


6

Brian이 말했듯이 상위 내보내기는 하위 내보내기를 대체 할 수 있습니다. 그러나 내보내기에 우선 순위를 추가하여이 문제를 해결할 수 있습니다. 따라서 Brian의 예제를 사용하면 문제가 해결됩니다.

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

2

클라이언트의 마운트 지점이 인 경우 /var/share권한이 777로 설정되어 있는지 확인하십시오.

chmod 777 /var/share

그렇지 않으면 루트로만 쓸 수 있지만 다른 모든 사용자와 RO, 마운트 된 파일의 권리 ---------또는 기타 이상한 행동을 가질 수있는 이상한 이상한 오류가있을 수 있습니다 .


1
필자의 경우 공유의 상위 폴더가 777이 아니 었습니다. 감사합니다.
hdave
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.