프로그램 사용/nfs2019. 7. 17. 16:55

 

$ sudo systemctl restart nfs-server 
Job for nfs-server.service canceled.

$ sudo systemctl status nfs-server

Jul 17 06:15:52 minikube exportfs[15642]: exportfs: /nfs-volume does not support NFS export

 

$ mount
rootfs on / type rootfs (rw)
devtmpfs on /dev type devtmpfs (rw,relatime,size=955872k,nr_inodes=238968,mode=755)
sysfs on /sys type sysfs (rw,relatime)
proc on /proc type proc (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
/dev/sda1 on /mnt/sda1 type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/lib/boot2docker type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/lib/docker type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/lib/containers type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/log type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/lib/kubelet type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/lib/cni type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /data type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /tmp/hostpath_pv type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /tmp/hostpath-provisioner type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/lib/minikube type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/lib/toolbox type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /var/lib/minishift type ext4 (rw,relatime,data=ordered)
/c/Users on /c/Users type vboxsf (rw,nodev,relatime)

 

nfs-kernel-server cannot work with a FUSE folder like an encrypted ecryptfs home directory.

[링크 : https://serverfault.com/questions/200759/exportfs-warning-home-user-share-does-not-support-nfs-export]

 

rootfs is a special tempfs image used in initram, and stays in this instance because you have an encrypted LVM setup. Normally, init would overwrite rootfs with the actual mounted / file system, but Fedora may not have that fixed with your setup. There is no harm in it.

[링크 : https://serverfault.com/questions/275988/what-is-rootfs]

'프로그램 사용 > nfs' 카테고리의 다른 글

nfs version 과 sparse file  (0) 2019.02.22
svc: failed to register lockdv1 RPC service (errno 111)  (0) 2015.02.10
nfs mount 시 옵션들  (0) 2012.12.11
mount.nfs: access denied by server while mounting  (0) 2012.06.08
showmount  (0) 2012.06.08
Posted by 구차니
프로그램 사용/nfs2019. 2. 22. 08:17

nfs 에서도 sparse file을 지원은 하는데 NFS v4.2 이후부터라고

NFS V4.2 ? Feature

● Sparse File Support ? Sparse files are ones which

have allocated or uninitialized blocks in the file.

(1.4.3)

● SEEK - Find the Next Data or Hole

● NFS: Implement SEEK (Sep 2014)

● READ_PLUS - READ Data or Holes from a File

● No published upstream patches yet

● Prototype patches improve performance with reading holes

(See Anna’s keynote graph).  

[링크 : https://events.static.linuxfound.org/sites/events/files/slides/Vault2017.pdf]


특정 버전으로 제한하는 법은 아래와 같은데 소수점 버전은 없네?

To specify NFS version, use -o option


# mount -t nfs -o vers=4 192.168.1.10:/mnt/data /data

or

# mount -t nfs -o vers=3 192.168.1.10:/mnt/data /data 

[링크 : https://computingforgeeks.com/configure-nfsv3-and-nfsv4-on-centos-7/]


버전 확인하기

근데 여전히 소수점 버전은 확인이 불가능 하다.

 nfsstat

[링크 : https://unix.stackexchange.com/questions/115918/how-to-determine-if-nfs-mount-is-mounted-as-v3-or-v4]

'프로그램 사용 > nfs' 카테고리의 다른 글

rootfs 와 nfs-server  (0) 2019.07.17
svc: failed to register lockdv1 RPC service (errno 111)  (0) 2015.02.10
nfs mount 시 옵션들  (0) 2012.12.11
mount.nfs: access denied by server while mounting  (0) 2012.06.08
showmount  (0) 2012.06.08
Posted by 구차니
프로그램 사용/nfs2015. 2. 10. 10:36

zedboard에서 nfs 마운트 하는데

svc: failed to register lockdv1 RPC service (errno 111).

요따구 에러 발생 -_-


다른건 필요 없고 nolock만 해주니 큰 문제 없이 접속이 되는 것으로 보인다.


# mount -o port=2049,nolock,proto=tcp -t nfs 192.168.100.110:/home/kalantari  /mnt

[링크 : http://forums.xilinx.com/t5/Embedded-Linux/nfs-mount-problem-on-microblaze/td-p/153272]

'프로그램 사용 > nfs' 카테고리의 다른 글

rootfs 와 nfs-server  (0) 2019.07.17
nfs version 과 sparse file  (0) 2019.02.22
nfs mount 시 옵션들  (0) 2012.12.11
mount.nfs: access denied by server while mounting  (0) 2012.06.08
showmount  (0) 2012.06.08
Posted by 구차니
프로그램 사용/nfs2012. 12. 11. 15:35
nfs 로 복사에는 문제가 없는 속도인데
삼바로도 문제가 없는데
삼바로 공유한 곳을 원격지에서 nfs로 끌어오고 그걸 또 삼바를 통해서 쓰려니
10MB/s 나오던게 3MB/s 나오고
처음 시작할때 30~60초 정도 딜레이가 생기는데..
acl때문인지 머가 문제인지 알수가 없네...

일단 그런 이유로 mount 옵션 조사
현재 사용중인건 nolock

[링크 : http://www.cyberciti.biz/faq/linux-unix-tuning-nfs-server-client-performance/]
[링크 : http://linux.die.net/man/5/nfs

'프로그램 사용 > nfs' 카테고리의 다른 글

nfs version 과 sparse file  (0) 2019.02.22
svc: failed to register lockdv1 RPC service (errno 111)  (0) 2015.02.10
mount.nfs: access denied by server while mounting  (0) 2012.06.08
showmount  (0) 2012.06.08
ubuntu nfs 지원  (4) 2012.06.06
Posted by 구차니
프로그램 사용/nfs2012. 6. 8. 19:52
집에와서 공유기 빼고 해보니 자~알 된다 -_-
아마도 공유기(D-LINK DI-524) 모델이 1024번 이하에 대해서 제대로 열어주지 못하는게 아닐까 조금 의심이 된다.
showmount 시에 RPC timeout이 된 것 봐서는 111번 포트를 매~우 유력한 후보로...

--- 삭제(백업용) ---
회사는 둘다 KT 망을 사용하는데
동일 건물이라서 그런지 nfs를 붙이는데 아무런 이상이 없다.(물론 둘다 10.04 LTS ubuntu desktop)
하지만 집의 녀석과 붙이려니 요런 에러를 뱉어주신다.  (12.04 LTS ubuntu desktop)
  mount 에서는    mount.nfs: access denied by server while mounting
  dmesg 에서는   nfsd: last server has exited, flushing export cache 

이래저래 고민을 해보니.. 집은 SK(구, 하나로 케이블) 라서 인가? 이런 고민도 드는데..
강제로 -o vers=3 를 통해 구버전으로 맞춰줘도 여전한걸 보니..
1024번 이하의 포트를 막아둔게 아닐까라는 의심이 새록새록..

 반대 방향으로 해보니 된다... 도대체 머가 문제지 -_- 
혹시.. no_subtree_check 이녀석 문제인가? << 이건 아님 ㅠ.ㅠ

no_subtree_check
This option disables subtree checking, which has mild security implications, but can improve reliability in some circumstances.
If a subdirectory of a filesystem is exported, but the whole filesystem isn't then whenever a NFS request arrives, the server must check not only that the accessed file is in the appropriate filesystem (which is easy) but also that it is in the exported tree (which is harder). This check is called the subtree_check.

In order to perform this check, the server must include some information about the location of the file in the "filehandle" that is given to the client. This can cause problems with accessing files that are renamed while a client has them open (though in many simple cases it will still work).

subtree checking is also used to make sure that files inside directories to which only root has access can only be accessed if the filesystem is exported with no_root_squash (see below), even if the file itself allows more general access.

As a general guide, a home directory filesystem, which is normally exported at the root and may see lots of file renames, should be exported with subtree checking disabled. A filesystem which is mostly readonly, and at least doesn't see many file renames (e.g. /usr or /var) and for which subdirectories may be exported, should probably be exported with subtree checks enabled.

The default of having subtree checks enabled, can be explicitly requested with subtree_check.

From release 1.1.0 of nfs-utils onwards, the default will be no_subtree_check as subtree_checking tends to cause more problems than it is worth. If you genuinely require subtree checking, you should explicitly put that option in the exports file. If you put neither option, exportfs will warn you that the change is pending.
 
[링크 :  http://linux.die.net/man/5/exports]   

showmount로 해보니 이런 에러 발생 -_-
clnt_create: RPC: Port mapper failure - Timed out 

설마.. 공유기 문제는 아니려나? 

'프로그램 사용 > nfs' 카테고리의 다른 글

svc: failed to register lockdv1 RPC service (errno 111)  (0) 2015.02.10
nfs mount 시 옵션들  (0) 2012.12.11
showmount  (0) 2012.06.08
ubuntu nfs 지원  (4) 2012.06.06
conflict of nfs file lock and samba  (0) 2011.08.04
Posted by 구차니
프로그램 사용/nfs2012. 6. 8. 19:47
원격지의 nfs 서버의 exports 목록을 보여주는 명령어이다.

$ showmount -e [ip_address|url]

[링크 :  http://nixcraft.com/...nfs-server-mount-nfs-access-denied-server-while-mounting-...-shared-folder.html]
[링크 :  http://linux.die.net/man/8/showmount]
Posted by 구차니
프로그램 사용/nfs2012. 6. 6. 18:28
kernel-nfs-server 패키지를 설치하지 않고 nfs로 붙이려고 하니
/proc/filesystem에 nfs를 지원하다고 나옴에도 불구하고 붙어지질 않는다.
그런 이유로 nfs를 mount 하기 위해서는  kernel-nfs-server 패키지를 설치해야한다
(/etc/exports를 비워두거나 서비스를 실행하지 않도록 설정필요)

mount: wrong fs type, bad option, bad superblock on server:/path,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount.<type> helper program)
       In some cases useful info is found in syslog - try
       dmesg | tail  or so 

Posted by 구차니
프로그램 사용/nfs2011. 8. 4. 17:58
---
삼바 공유된 경로를
nfs통해서 원격으로 끌어온 뒤
다시 samba로 공유하려고 할 경우 엄청난 딜레이 후에 실패하는 문제가 발생한다.

원인은 파일 공유 lock 때문인데
samba 설정보다는 nfs 쪽 lock 관련 문제이기 때문에
nfs mount시에 설정해야 해결이 된다.

2012/12/11 - [프로그램 사용/nfs] - nfs mount 시 옵션들
---


[링크 : http://book.opensourceproject.org.cn/sysadmin/samba/definitive/opensource/8885final/lib0074.html]
[링크 : http://utcc.utoronto.ca/~cks/space/blog/linux/NFSSambaLockingII]
[링크 : http://oreilly.com/catalog/samba/chapter/book/ch05_05.html

'프로그램 사용 > nfs' 카테고리의 다른 글

showmount  (0) 2012.06.08
ubuntu nfs 지원  (4) 2012.06.06
cp: `./filename'의 소유자 검출 실패: Operation not permitted  (0) 2011.08.03
NFS를 외부에서 접속하기 (공유기를 거쳐)  (0) 2011.07.29
nfs 보안  (2) 2011.06.24
Posted by 구차니
프로그램 사용/nfs2011. 8. 3. 14:50
NFS로 마운트 하고 나서 보기에는 문제가 없어 보이지만
실제로 파일을 복사해 넣으려고 하면 위와 같은 에러가 발생한다.

sudo cp 를 해도 여전히 문제가 해결되지 않는데 이는 NFS의 권한 문제 때문이다. 

cat /etc/exports
/home (rw)
 

라고만 nfs를 공유할 경우,
기본값으로 root_squash  옵션이 들어가며, 이런 이유로 rw가 들어가더라도 권한이 맞지 않아 파일을 생성할 수 없게 된다. 
(anonymous 권한으로 설정이 되는데, 이러한 이유로 nobody:nogroup 권한으로 파일이 생성되며, other 권한이 rw- 일 경우 제한적으로 파일이 생성되기도 한다. 물론 디렉토리 권한한 기본 퍼미션 마스크를 따르기 때문에 하위 디렉토리 부터는 안될수도 있다)

User ID Mapping

nfsd bases its access control to files on the server machine on the uid and gid provided in each NFS RPC request. The normal behavior a user would expect is that she can access her files on the server just as she would on a normal file system. This requires that the same uids and gids are used on the client and the server machine. This is not always true, nor is it always desirable.
Very often, it is not desirable that the root user on a client machine is also treated as root when accessing files on the NFS server. To this end, uid 0 is normally mapped to a different id: the so-called anonymous or nobody uid. This mode of operation (called 'root squashing') is the default, and can be turned off with no_root_squash.

By default, exportfs chooses a uid and gid of 65534 for squashed access. These values can also be overridden by the anonuid and anongid options. Finally, you can map all user requests to the anonymous uid by specifying the all_squash option.

Here's the complete list of mapping options:

root_squash
Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids that might be equally sensitive, such as user bin.
no_root_squash
Turn off root squashing. This option is mainly useful for diskless clients.
all_squash
Map all uids and gids to the anonymous user. Useful for NFS-exported public FTP directories, news spool directories, etc. The opposite option is no_all_squash, which is the default setting.
anonuid and anongid
These options explicitly set the uid and gid of the anonymous account. This option is primarily useful for PC/NFS clients, where you might want all requests appear to be from one user. As an example, consider the export entry for /home/joe in the example section below, which maps all requests to uid 150 (which is supposedly that of user joe). 

[링크 : http://linux.die.net/man/5/exports 

'프로그램 사용 > nfs' 카테고리의 다른 글

ubuntu nfs 지원  (4) 2012.06.06
conflict of nfs file lock and samba  (0) 2011.08.04
NFS를 외부에서 접속하기 (공유기를 거쳐)  (0) 2011.07.29
nfs 보안  (2) 2011.06.24
NFS 왜 안될까?  (0) 2010.02.17
Posted by 구차니
프로그램 사용/nfs2011. 7. 29. 11:51
NFS는 보안상의 문제가 있어서 되도록이면 외부접속은 하지 않는게 정석이지만,
꼭 해야 한다면 다음의 절차를 거치면 된다.


1. mountd 서비스 포트 고정
/etc/services 에 mountd를 특정포트로 고정한다.
[링크 : http://mindwing.kr/141]

2. 공유기에서 포트 포워딩
rpcinfo -p 에서 나오는 portmapper 와 nfs 그리고 mountd 포트를 포워딩 해준다.
(111번 그리고 2049번 위에서 설정한 mountd 포트를 포워딩하면 된다)
$ rpcinfo -p
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  58095  status
    100024    1   tcp  49200  status
    100021    1   udp  44937  nlockmgr
    100021    3   udp  44937  nlockmgr
    100021    4   udp  44937  nlockmgr
    100021    1   tcp  50652  nlockmgr
    100021    3   tcp  50652  nlockmgr
    100021    4   tcp  50652  nlockmgr
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100005    1   udp  36811  mountd
    100005    1   tcp  33175  mountd
    100005    2   udp  36811  mountd
    100005    2   tcp  33175  mountd
    100005    3   udp  36811  mountd
    100005    3   tcp  33175  mountd

3. exports 설정
/etc/exports 에 nfs로 마운트할 아이피를 포함하여 작성한다.
  1 # /etc/exports: the access control list for filesystems which may be exported
  2 #               to NFS clients.  See exports(5).
  3 #
  4 # Example for NFSv2 and NFSv3:
  5 # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
  6 #
  7 # Example for NFSv4:
  8 # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
  9 # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
 10 #
 11
 12 /home/samba/sharedDocs  123.123.123.123(rw,root_squash) 
추가적으로 /etc/hosts.allow /etc/hosts.deny도 하라지만 귀차니즘 -_-


원격지에서 mount시에는 아래와 같이 입력을 하면되며
만약 tcp로 고정하고 싶으면 -o tcp를 추가하면 된다.
# mount -t nfs -o tcp 111.111.111.111:/home/samba/sharedDocs mountpath

만약 123.123.123.123 아이피가 아닌 다른 컴퓨터에서 접속하면 다음과 같이 나온다.
# mount -t nfs 111.111.111.111:/home/samba/sharedDocs tt
mount: RPC: Unable to receive; errno = Connection refused

그나저나.. TCP로 접속해놔도 생각보다 랙이 심하네 공유기를 거쳐서인가?

2009/09/01 - [Linux/Ubuntu] - ubuntu nfs 서버 설치하기
2009/05/12 - [프로그램 사용/u-boot] - nfs를 udp가 아닌 tcp로 연결하도록 설정하기
2010/02/04 - [Linux/Ubuntu] - ubuntu에 NFS 서버 설치


Posted by 구차니