티스토리 뷰

Linux

NFS (Network File System)

초보의 CHOMAN 2015.06.04 15:01

NFS (Network File System)



대용량 파일 전송 유리



다른 호스트의 파일시스템의 일부를 자신의 디렉토리처럼 사용하게 해주는것


nfs 패키지 확인

 

rpm -qa portmap
rpm -qa nfs-utils

설치가 안되어 있으면 

yum install portmap nfs-utils



 

portmap & nfs 실행

 

※. portmap 부터 실행

/etc/init.d/portmap start
/etc/init.d/nfs start


 

nfs 공유디렉토리목록 설정파일

 

/etc/exports

/home XXX.XXX.26.11(rw,all_squash)

공유할 파티션 접근할 클라이언트(옵션)


op) 

rw : 읽기, 쓰기 가능
ro : 읽기만
secure : 클라이언트 마운트 요청시 포트를 1024 이하로 함
noaccess : 엑세스 거부
root_squach : 클라이언트의 root 가 서버의 root 권한을 획득하는것을 막음
no_root_squash : 클라이언트의 root 와 서버의 root 를 동일하게 함
sync : 파일시스템이 변경되면 즉시 동기화 한다
all_squach : root를 제외하고 서버와 클라이언트의 사용자를 동일한 권한으로 설정
no_all_squach : root를 제외하고 서버와 클라이언트 사용자들을 하나의 권한을 가지도록 설정

 

 

/etc/exports 에 설정한 대로 공유가 되고 있는지 확인

 

아래와 같이 좀 길게 출력 된다면 정상적으로 공유되는듯 하다

root@localhost ~]# exportfs -v
/home XXX.XXX.26.11(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=65534,anongid=65534)

 

 

nfs 사용되는 포트 (아래 2개 포트를 제외하고는 모두 랜덤방식으로 포트가 변경됨)

- portmap (111)
- prc.nfs (2049)


현재 포트 확인 할려면

 

[root@localhost ~]# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 636 rquotad
100011 2 udp 636 rquotad
100011 1 tcp 639 rquotad
100011 2 tcp 639 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 58403 nlockmgr
100021 3 udp 58403 nlockmgr
100021 4 udp 58403 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100021 1 tcp 60328 nlockmgr
100021 3 tcp 60328 nlockmgr
100021 4 tcp 60328 nlockmgr
100005 1 udp 671 mountd
100005 1 tcp 674 mountd
100005 2 udp 671 mountd
100005 2 tcp 674 mountd
100005 3 udp 671 mountd
100005 3 tcp 674 mountd

 

Linux 에서 Windows 2003 공유 폴더를 접근할려는데 안된다 ㅋ

mount -t cifs -o username=administrator,password=XXXXX //XXX.XXX.250.111/c$ /mnt

mount -t cifs -o username=administrator,password=XXXXX //XXX.XXX250.111/nfs /mnt

형식은 아래 형식으로 하면 되는거 같은데

mount.cifs //XXX.XXX.26.5/data-sync /home/data-sync/123.45.67.6/mount/XXX.XXX.26.5 -o username=data-sync,password=XXXXX,iocharset=utf8,codepage=cp949,dir_mode=0755,file_mode=0666,noperms

 

리눅스 서버에 따라서 한글이 깨지는 현상 아래 옵션에다가 utf8, euc-kr 바꿔서 넣어서 마운트 해보자
locale 명령으로 확인후 마운트 아래 옵션에...
iocharset=utf8 or euc-kr
rsyncd 동기화 할때 한글이름을 가진 파일은 동기화가 제대로 이루어 지지 않는 경우가 발생
- iocharset 이 옵션 대신에 nls=cp949 이런식으로 옵션줘도 된다고 하는데 ㅋ

 

 

리눅스에서 상대쪽 공유 자원에 성공적으로 마운트 하였다면 watch cat /etc/mtab 으로 확인가능하다
- /etc/mtab : : 현재 마운트된 상태를 보여줌 (/etc/fstab에 있거나 성공적으로 마운트 된 결과만을 나타내줌)



error) 
mount error: cifs filesystem not supported by the system
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)

"커널에서 mount.cifs를 지원하지 않는다" 라는 메세지임

[확인 방법]
- cat /proc/filesystems | grep cifs
- /sbin/lsmod | grep cifs
- /lib/modules/2.6.18-8.1.6.e15/kernel/fs/cifs/cifs.ko ← 요게 있는지 확인 
- 해당 모듈이 있다면 modprobe cifs 명령어로 cifs 모듈이 적재될것이다.

커널 컴파일 했을 경우 /usr/src/linux/.config 를 열어 cifs로 검색해본다.
- CONFIG_CIFS=m

[해결방법]

컴파일한 리눅스 커널이면 불필요한 모듈은 뺏을수도 있으므로 해당 커널 다시 커널컴파일 하면 된다.

/usr/src/linux
make menuconfig - file systems -> network file systems -> CIFS support
make oldconfig
make && make install


error2)
mount error 79 = Can not access a needed shared library
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)

cat /var/log/message
- CIFS VFS: CIFS mount error: iocharset utf8 not found

iocharset=utf8 옵션을 줬기 때문에 아래 모듈이 떠 있어야 될것 같다 (파일시스템의 언어셋 문제인듯)

/usr/src/linux
make menuconfig - File systems - {M} Native language support - <M> Korean charset (CP949, EUC-KR) 
- <M> NLS UTF-8

모듈 옵션만 주고 모듈만 재컴파일 하면 에러나 뜨지 않을것이다.
make oldconfig
make modules && make modules_install

컴파일후 lsmod 를 해보면 아래와 같이 nls_utf8 이 보이면 정상적으로 실행이 될것이다.
Module Size Used by
nls_utf8 2240 0 

error3) 아래 마운트로 해도 절라 안되던것이
mount -t nfs 115.xx.xx.104:/home/html /home/html/Reposit

밑에껄로 했을때는 한번에 되었음 뭔가 -o nolock 의 옵션의 의미가 있는듯???
mount -t nfs -o nolock 115.xx.xx.104:/home/html /home/html/Reposit

'Linux' 카테고리의 다른 글

smb (삼바, samba)  (0) 2015.06.04
GRUB 패스워드 설정  (0) 2015.06.04
NFS (Network File System)  (0) 2015.06.04
좀비 (Zombie) 프로세스 찾아서 제거하기  (0) 2015.06.04
리눅스 지워진 파일 복구  (0) 2015.06.04
CONFIG_NF_CT_ACCT is deprecated and will be removed soon  (0) 2015.06.04
댓글
댓글쓰기 폼
공지사항
Total
725,926
Today
173
Yesterday
191
링크
«   2019/08   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함