메뉴 닫기

NFS를 바탕으로 LVM 공유 볼륨 설정

최근 오픈 스택에 볼륨을 여러 인스턴스가 공유하는 manila 프로젝트를 확인 중인데 그 안의
기술중 LVM과 NFS를 사용하여 공유 볼륨을 만들고 운영 하는게 표준 mitaka 설치 메뉴얼에 올라왔다.

우분투 OS 설치된 서버로 NFS를 바탕으로 LVM 공유하는 설정을 해보자. 

# nfs-kernel-server 설치


root@ubuntu:~# apt-get install nfs-kernel-server
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지를 더 설치할 것입니다:
  keyutils libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind
제안하는 패키지:
  open-iscsi watchdog
다음 새 패키지를 설치할 것입니다:
  keyutils libgssglue1 libnfsidmap2 libtirpc1 nfs-common nfs-kernel-server
  rpcbind
0개 업그레이드, 7개 새로 설치, 0개 제거 및 186개 업그레이드 안 함.
460 k바이트 아카이브를 받아야 합니다.
이 작업 후 2,049 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y

# 공유 볼륨 생성


root@ubuntu:~# lvcreate -L 10GB -n add_data jyh_test
  Logical volume "add_data" created

root@ubuntu:~# lvs
  LV       VG       Attr      LSize  Pool Origin Data%  Move Log Copy%  Convert
  add_data jyh_test -wi-a---- 10.00g

# 볼륨 포맷 및 마운트


root@ubuntu:~# mkfs.ext4 /dev/mapper/jyh_test-add_data 
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

root@ubuntu:~# mount /dev/jyh_test/add_data /mnt/

root@ubuntu:~# df -Th
Filesystem                    Type      Size  Used Avail Use% Mounted on
/dev/sda1                     ext4       30G  1.2G   27G   5% /
none                          tmpfs     4.0K     0  4.0K   0% /sys/fs/cgroup
udev                          devtmpfs  986M  4.0K  986M   1% /dev
tmpfs                         tmpfs     200M  464K  199M   1% /run
none                          tmpfs     5.0M     0  5.0M   0% /run/lock
none                          tmpfs     997M     0  997M   0% /run/shm
none                          tmpfs     100M     0  100M   0% /run/user
/dev/mapper/jyh_test-add_data ext4      9.8G   23M  9.2G   1% /mnt

root@ubuntu:~# cd /mnt/

root@ubuntu:/mnt# touch  test_file

root@ubuntu:/mnt# ls
lost+found  test_file

# 접속 허용할 네트워크 및 권한 설정 & 서비스 재시작


root@ubuntu:/mnt# cat /etc/exports | grep 192
/mnt	192.168.22.0/24(rw,no_root_squash)

root@ubuntu:/mnt# service nfs-kernel-server start
 * Exporting directories for NFS kernel daemon...                                                                                                                                         exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.22.0/24:/mnt".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x

                                                                                                                                                                                   [ OK ]
 * Starting NFS kernel daemon

# 클라이언트 유저에서 nfs마운트하기 위한 패키지 설치


root@smileserv-desktop:~# apt-get install nfs-common
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libhdb9-heimdal libkdc2-heimdal linux-image-3.13.0-66-generic
  linux-image-3.13.0-68-generic linux-image-3.13.0-70-generic
  linux-image-3.13.0-71-generic linux-image-3.13.0-73-generic
  linux-image-3.13.0-74-generic linux-image-3.13.0-76-generic
  linux-image-3.13.0-77-generic linux-image-3.13.0-79-generic
  linux-image-extra-3.13.0-66-generic linux-image-extra-3.13.0-68-generic
  linux-image-extra-3.13.0-70-generic linux-image-extra-3.13.0-71-generic
  linux-image-extra-3.13.0-73-generic linux-image-extra-3.13.0-74-generic
  linux-image-extra-3.13.0-76-generic linux-image-extra-3.13.0-77-generic
  linux-image-extra-3.13.0-79-generic
Use 'apt-get autoremove' to remove them.
다음 패키지를 더 설치할 것입니다:
  keyutils libgssglue1 libnfsidmap2 libtirpc1 rpcbind
제안하는 패키지:
  open-iscsi watchdog
다음 새 패키지를 설치할 것입니다:
  keyutils libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind
0개 업그레이드, 6개 새로 설치, 0개 제거 및 134개 업그레이드 안 함.
375 k바이트 아카이브를 받아야 합니다.
이 작업 후 1,524 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y

# 클라이언트 유저에서 마운트


root@smileserv-desktop:~/Desktop# mkdir share_10G

root@smileserv-desktop:~/Desktop# mount -t nfs 192.168.22.232:/mnt share_10G/

root@smileserv-desktop:~/Desktop# cd share_10G/

root@smileserv-desktop:~/Desktop/share_10G# ls
lost+found  test_file

# 확인


# 클라이언트 유저가 임의의 파일 생성
root@smileserv-desktop:~/Desktop/share_10G# touch user_create_file

root@smileserv-desktop:~/Desktop/share_10G# ls
lost+found  test_file  user_create_file

# 서버단에서 유저가 생성한 파일 확인
root@ubuntu:/mnt# ls
lost+found  test_file  user_create_file

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다