Я работаю на Ubuntu Server 64bit. Я смонтировал 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-write-is-working) сервера.
с рабочего сервера: 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
Ответы:
Ошибка «Файловая система только для чтения» означает, что файловая система экспортируется только для чтения. Опция rw mount сообщает клиенту, что «WRITE» разрешено отправлять на сервер. В обычных системах Unix проверьте файл / etc / exports:
На приборах проверьте документацию для экспорта в режиме чтения-записи.
источник
server_export
утилита обрабатывает эту функциональность. И вы были правы, что рассматриваемый сервер не был включен в блок IP, обозначенный как rw изserver_export server -l
списка. Благодарность!Экспорт родительской папки (ro) переопределит дочерний экспорт (rw).
Пример экспорта:
SHARE1 будет только для чтения, потому что NFS_ROOT только для чтения. У вас есть ограничения на экспортируемый корневой каталог, который может быть причиной проблемы.
источник
Как сказал Брайан, родительский экспорт может переопределить дочерний экспорт. Но вы можете решить эту проблему, добавив приоритеты в свой экспорт. Итак, на примере Брайана это решит проблему:
источник
Если ваша точка монтирования на клиенте есть
/var/share
, убедитесь, что она создана с правами, установленными на 777:В противном случае у вас могут возникнуть странные странные ошибки, когда вы можете писать только с правами root, но иметь права RO для всех остальных пользователей, права на монтируемые файлы, такие как
---------
или другое странное поведение.источник