У меня три машины -
machineA 10.108.24.132
machineB 10.108.24.133
machineC 10.108.24.134
и на всех этих машинах установлена Ubuntu 12.04, и у меня есть root-доступ ко всем этим трём машинам.
Теперь мне предстоит сделать следующие вещи в моих машинах:
Create mount point /opt/exhibitor/conf
Mount the directory in all servers.
sudo mount <NFS-SERVER>:/opt/exhibitor/conf /opt/exhibitor/conf/
Я уже создал /opt/exhibitor/conf
каталог на всех этих трех машинах, как указано выше.
Теперь я пытаюсь создать точку монтирования на всех этих трех машинах. Поэтому я следовал следующему процессу -
Установить файлы поддержки NFS и сервер ядра NFS
$ sudo apt-get install nfs-common nfs-kernel-server
Создать общий каталог
$ mkdir /opt/exhibitor/conf/
Отредактировал /etc/exports и добавил следующую запись:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/opt/exhibitor/conf/ 10.108.24.*(rw)
Запустить exportfs
root@machineA:/# exportfs -rv
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "10.108.24.*:/opt/exhibitor/conf/".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
exporting 10.108.24.*:/opt/exhibitor/conf
Теперь я сделал showmount
наmachineA
root@machineA:/# showmount -e 10.108.24.132
Export list for 10.108.24.132:
/opt/exhibitor/conf 10.108.24.*
И теперь, когда я это сделал, я получаю ошибку -
root@machineA:/# sudo mount -t nfs 10.108.24.132:/opt/exhibitor/conf /opt/exhibitor/conf/
mount.nfs: access denied by server while mounting 10.108.24.132:/opt/exhibitor/conf
Есть идеи, что я делаю не так?
решение1
измените ваш /etc/exports с
/opt/exhibitor/conf/ 10.108.24.*(rw)
к
/opt/exhibitor/conf/ 10.108.24.0/24(rw)
решение2
Похоже, вы пытаетесь выполнить монтирование NFS на том же сервере.
root@machineA:/# sudo mount -t nfs 10.108.24.132:/opt/exhibitor/conf /opt/exhibitor/conf/
МашинаА — это10.108.24.132
Ты пробовал?
root@machineB:/# mkdir -p /opt/exhibitor/conf
root@machineB:/# sudo mount -t nfs 10.108.24.132:/opt/exhibitor/conf /opt/exhibitor/conf/
и на машинеC
root@machineC:/# mkdir -p /opt/exhibitor/conf
root@machineC:/# sudo mount -t nfs 10.108.24.132:/opt/exhibitor/conf /opt/exhibitor/conf/
Вы должны иметь возможность сделать это с machineA, но используя другой каталог в качестве точки монтирования:
root@machineA:/# mkdir -p /opt/exhibitor/conf2
root@machineA:/# sudo mount -t nfs 10.108.24.132:/opt/exhibitor/conf /opt/exhibitor/conf2/
решение3
Заранее прошу прощения за свой плохой английский, но я постараюсь писать как можно лучше.
Я думаю, вам нужно задать имя пользователя и пароль при монтировании.
mount -t nfs 10.108.24.132:/opt/exhibitor/conf /opt/exhibitor/conf/ -o username=USERNAME,password=PASSWORD
Я никогда не пробовал NFS, я использую Samba на своей машине. В Samba нам нужно добавить пользователя Linux к пользователю Samba.
smbpasswd -a username
возможно, в nfs тот же случай.