XenServer 5.6에 NAS 구성하기 > knowledge

본문 바로가기
사이트 내 전체검색

knowledge

XenServer 5.6에 NAS 구성하기

페이지 정보

작성자 웹지기 댓글 0건 조회 7,809회 작성일 18-09-27 14:16

본문

[펌] http://ifwind.tistory.com/10


XenServer의 Local Storage 중 일부를 NAS로 구성하여 리눅스 가상머신에는 NFS로 붙이고, 윈도우 가상머신에는 CFS로 붙이는 구성을 해보았다. XenServer에 NAS를 구성하면 다음과 같은 장점이 있다.

  • ISO 라이브러리를 XenServer내에 구성할 수 있다.
  • XenServer는 항상 가동중이기 때문에 VM의 상태와 관계없이 안정적인 네트워크 스토리지를 제공할 수 있다.
  • VM에서 사용하는 중요 데이터를 XenServer에 저장하고 VM은 마음대로 실습(?)할 수 있다.

참고로 본인의 XenServer 하드웨어는 다음과 같다.

  • CPU: AMD 애슬론II-X2 250(레고르)
  • MEM: DDR2 2GB
  • M/B: Asus M4A78-VM
  • HDD: 640GB 5400rpm
  • XenServer 5.6
  • IP: 192.168.0.2

작업은 다음의 순서로 진행한다.

  1. nas 용 스토리지를 할당하고 XenServer에 마운트 한다.
  2. nfs 서비스를 설정한다.
  3. samba 서비스를 설정한다.

1) nas 용 스토리지를 할당하고 XenServer에 마운트 한다.

이하 작업은 XenServer에 접속해서 수행한다.

XenServer에 nas용 마운트 포인트를 생성하고 쓰기 권한을 풀어준다.

$ mkdir /nas 
$ chmod 777 /nas

fdisk 명령으로 확인해보면 우리가 사용할 수 있는 스토리지는 Linux LVM으로 구성되었음을 확인할 수 있다.

$ fdisk -l 
Disk /dev/sda: 640.1 GB, 640135028736 bytes 
255 heads, 63 sectors/track, 77825 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
Device Boot Start End Blocks Id System 
/dev/sda1 * 1 523 4194304 83 Linux 
Partition 1 does not end on cylinder boundary. 
/dev/sda2 523 1045 4194304 83 Linux 
/dev/sda3 1045 77825 616740673 8e Linux LVM

vgdisplay로 Linux LVM의 VG Name 및 가용량을 확인한다. VG Name은 이후 작업의 입력인자로 사용된다.

$ vgdisplay 
--- Volume group --- 
VG Name VG_XenStorage-9af52d2d-12da-425b-b7f3-acdf5eb9d4aa 
System ID 
Format lvm2 
Metadata Areas 1 
Metadata Sequence No 23 
VG Access read/write 
VG Status resizable 
MAX LV 0 
Cur LV 8 
Open LV 3 
Max PV 0 
Cur PV 1 
Act PV 1 
VG Size 588.16 GB 
PE Size 4.00 MB 
Total PE 150568 
Alloc PE / Size 123961 / 484.22 GB 
Free PE / Size 26607 / 103.93 GB 
VG UUID 0yYD2Q-Aq5U-Nvgx-SUyF-2pMN-iOG1-ZkGcem

원하는 용량만큼 lv를 생성한다. lvcreate –L 용량 lv_name VG_ Name 형태로 명령어를 입력한다.

$ lvcreate -L 50GB -n nas_lv VG_XenStorage-9af52d2d-12da-425b-b7f3-acdf5eb9d4aa

생성된 lv를 ext3로 포맷한다.

$ mkfs.ext3 /dev/VG_XenStorage-9af52d2d-12da-425b-b7f3-acdf5eb9d4aa/nas_lv

이제 마운트 해본다.

$ mount /dev/VG_XenStorage-9af52d2d-12da-425b-b7f3-acdf5eb9d4aa/nas_lv  /nas

부팅 후에도 자동 마운트 되도록 설정한다.

fstab을 이용하면 편할텐데, 디바이스 파일(/dev/VG_XenStorage-9af52d2d-12da-425b-b7f3-acdf5eb9d4aa/nas_lv)이 재부팅하면 인식되지 않는 현상이 발생한다. 편법으로 자동 실행 스크립트를 만들어서 lvchange 명령으로 디바이스 파일 재생성 및 마운트하도록 구성했다.

$ vi /etc/init.d/nas_mount 
#!/bin/sh 

# chkconfig: 345 20 80 
# description: This script takes care of starting \ 
# and stopping nas_mount 

# See how we were called. 
case "$1" in 
start) 
# Start set. 
echo -n "/nas mounting... " 
lvchange -ay VG_XenStorage-9af52d2d-12da-425b-b7f3-acdf5eb9d4aa && \ 
mount /dev/VG_XenStorage-9af52d2d-12da-425b-b7f3-acdf5eb9d4aa/nas_lv /nas 
echo "done" 
;; 
stop) 
# Stop set. 
echo "/nas umounting... " 
umount /nas 
echo "done" 
;; 
status) 
mount | grep /nas 
;; 
*) 
echo "Usage: nas_mount {start|stop|status}" 
exit 1 
;; 
esac 
exit 0

이 스크립트를 실행 가능한 파일로 변경하고 자동 실행되도록 설정한다.

$ chmod 755 /etc/init.d/nas_mount 
$ chkconfig --level 345 nas_mount on

이제 XenServer를 재부팅하여 /nas에 정상 마운트되는지 확인한다.

$ shutdown -r now 
$ df -h # 부팅 완료 후에 확인

2) NFS 서비스를 설정한다.

XenServer에 NFS 서비스를 설정하여 다른 서버에서 /nas를 마운트 할 수 있도록 한다.

먼저 호스트명이 정의되있지 않다면 hosts 파일에 정의한다. 아이피 주소 및 서버명은 본인의 것으로 사용한다.

$ vi /etc/hosts 
192.168.0.2 XenServer

/nas 디렉토리를 192.168번대 시스템에서 접근할 수 있도록 설정한다.

$ vi /etc/exports 
/nas 192.168.0.0/24(rw,no_root_squash,sync)

옵션설명

  • rw: 클라이언트에서 쓰기 가능
  • no_root_squash: 클라이언트의 root를 서버의 root로 인정 (root에게 모든 권한 부여)
  • sync: write전에 동기화, 반대는 async 
    ※ XenServer 5.6에서 nfs는 극악의 성능을 보이는데 sync를 async로 변경하면 아주 아주 빨라진다. 성능에 불만이 있다면 async를 시도해볼 만 하다. 좀 불안하긴 하겠지만...


XenServer의 portmapper 서비스는 –l 옵션이 기본으로 설정되어 있어 서비스가 제대로 작동하지 않는다. 아래 지시대로 PMAP_ARGS을 주석 처리하여 문제가 없도록 한다.

$ vi /etc/sysconfig/portmap 
#PMAP_ARGS=-l # 주석처리

NFS 설정을 적용하고 확인한다.

$ exportfs -a 
$ exportfs 
/nas 192.168.0.0/24

NFS 관련 서비스를 시작한다.

$ service nfs start 
$ service portmap start

정상 작동 중인지 확인한다. 111 포트를 사용하는 portmapper, 2049 포트를 사용하는 nfs등을 확인할 수 있다.

$ rpcinfo -p 
program vers proto port 
100000 2 tcp 111 portmapper 
100000 2 udp 111 portmapper 
100024 1 udp 600 status 
100024 1 tcp 600 status 
100021 1 udp 47834 nlockmgr 
100021 3 udp 47834 nlockmgr 
100021 4 udp 47834 nlockmgr 
100003 2 udp 2049 nfs 
100003 3 udp 2049 nfs 
100003 4 udp 2049 nfs 
100021 1 tcp 38515 nlockmgr 
100021 3 tcp 38515 nlockmgr 
100021 4 tcp 38515 nlockmgr 
100003 2 tcp 2049 nfs 
100003 3 tcp 2049 nfs 
100003 4 tcp 2049 nfs 
100005 1 udp 32767 mountd 
100005 1 tcp 32767 mountd 
100005 2 udp 32767 mountd 
100005 2 tcp 32767 mountd 
100005 3 udp 32767 mountd 
100005 3 tcp 32767 mountd

$ showmount --export 
Export list for XenServer: 
/nas 192.168.0.0/24

마지막으로 iptables의 설정을 변경하여 NFS 서비스의 포트를 개방해야 한다. 하지만 클라이언트의 portmapper 서비스가 비정규 포트를 사용하기 때문에 iptables를 적정하게 수정하는게 매우 힘들다. 여기서는 iptables 서비스를 중단하고 자동 실행되지 않도록 변경한다.

$ service iptables stop 
$ chkconfig --level 2345 iptables off

다른 서버에서 XenServer의 /nas 디렉토리를 NFS로 마운트해본다.

$ mkdir /xenserver-nas 
$ mount -t nfs 192.168.0.2:/nas /xenserver-nas

3) samba 서비스를 설정한다.

samba 서비스는 XenServer에 설치되어 있지 않다. XenServer가 인터넷에 연결되어 있다면 yum 을 이용해 설치할 수 있다. 인터넷으로 패키지를 받아올 수 있도록 CentOS-Base.repo 파일의 base 섹션 내 enable을 1로 변경한다.

$ vi /etc/yum.repos.d/CentOS-Base.repo 
[base] 
... 
enable=1

이제 yum을 이용해 samba를 설치하고 자동 실행되도록 구성한다.

$ yum install samba 
$ chkconfig --levels 345 smb on

삼바 환경파일을 백업해 놓고 적절하게 수정한다. 여기서는 /nas 디렉토리를 서비스 하도록 구성했다.

$ cp /etc/samba/smb.conf /etc/samba/smb.bak 
$ vi /etc/samba/smb.conf 
server string = NAS on XenServer 
netbios name = XenServer 
log file = /var/log/samba/%m.log 
security = user 
passdb backend = tdbsam 
load printers = no 
cups options = raw 
[nas] 
comment = nas 
path = /nas 
public = yes 
writable = yes 
printable = no

삼바 서비스를 재시작 한다.

$ service samba restart

NFS를 설정하면서 iptables를 비활성화 시켰지만 여전히 iptables를 사용코자 한다면 iptables 테이블에 samba 서비스용 포트를 허용하도록 다음 2개 라인을 추가한다.

$ vi /etc/sysconfig/iptables 
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT 
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

윈도우에서 시작 –> 실행으로 다음 명령을 입력하여 정상 연결되는지 확인한다.

\\192.168.0.2\nas

리눅스 시스템에서는 mount 명령으로 연결해본다.

$ mount –t cifs –o user=<username>,password=<yourpass> //192.168.0.2/nas /nas
$ ls –la /nas
[이 게시물은 웹지기님에 의해 2018-10-09 11:28:48 knowledge에서 이동 됨]
추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 89건 1 페이지
  • 89 [ filezilla ] 설정, 편집기, 인터페이스, 파일, 로그 위치 변경으로 편하게 사용
  • [ filezilla ] 설정 변경으로 편하게 사용 설정화면 들어가기 : Edit &gt; Settings * 설정을 여는 방법 [편집(E)] -&gt; [설정(S)] 1. 서버와 자동 연동 기능 해제 1) &lt;설정&gt; - &lt;파일편집&gt; - [로컬 파일 편집을 감시하여 수정시 업로드 여부 묻기(W)] 해제 2. 편집기를 다른 편집기로 변경. 1) &lt;설정&gt; - ...
  • 웹지기 07-07 5871 0 0 댓글 0
  • 88 [ APM ][ NPM ] Nginx ( engine X )
  • Nginx [engine x] nginx [engine x]는 HTTP 및 리버스 프록시 서버이며 Igor Sysoev가 작성한 메일 프록시 서버 Rambler (RamblerMedia.com)를 포함하여 러시아의 많은 사이트에서 5년 이상 운영됨 기본 HTTP 서버 기능 정적 및 인덱스 파일 제공, 자동 인덱싱; 열린 파일 디스크립터 캐시 캐싱을 통한 가속 리버스 프록시; 간단한로드 밸런싱 및 내결함성 FastCGI, uwsgi, SCGI 및 memcached 서버 캐싱에 대한 지...
  • 웹지기 02-18 5893 0 0 댓글 0
  • 87 [ APM ][ NPM ] Apache HTTP Server | Apache( Nginx ) + PHP + …
  • Apache HTTP Server Apache는 www(월드와이드웹)의 초기 활용에 중요한 역할을 하는 유용한 웹서버 Apache는 www(월드와이드웹)의 초기 활용에 중요한 역할을하는 유명한 웹 서버 2009년에 1억 웹사이트 이정표를 넘어선 최초의 웹 서버 Apache는 Netscape Communications Corporation 웹서버의 첫 번째 대안으로, 기능 및 성능 측면에서 다른 Unix 기반 웹 서버와 경쟁하기 위해 발전 Apache를 사용하는 모든 웹 서버의 대부분...
  • 웹지기 02-18 5543 0 0 댓글 0
  • 86 [ xampp ] mysql 설치 > root 비밀번호 변경 후 phpmyadmin 접속 설정
  • xampp 에서 mysql root의 비밀번호를 변경하게 되면 phpmyadmin에 접속이 되지 않는다. root의 비밀번호를 phpmyadmin의 config파일에 넣어줘야 한다. /xampp/phpMyAdmin/config.inc.php 21줄에 mysql root로 설정된 비밀번호를 넣어준다.
  • 웹지기 01-19 7618 0 0 댓글 0
+1
  • 85 [ xampp ] 설치 후 root 경로 변경
  • xampp 패널을 열고 apache 의 config를 admin 클릭 Apache(http.conf) 파일을 연다 documentroot를 찾아서 경로를 변경해준다.
  • 웹지기 01-19 8758 0 0 댓글 0
+1
  • 84 [ laragon ] 프로그램 설치 링크 연결과 자동설치 방법
  • Laragon에서 자동설치 할 수 있게 해주는게 Menu &gt; Tools &gt; Quick add 부분에 나오는 명령어들이다. 이곳에 새로운 것을 추가 할 수 있고, 삭제 할 수도 있다. 일단 추가 하고 싶으면 선택하면 notepad++ 로 파일이 연결되어서 열리게 된다. 이부분에 원하는 방식으로 추가를 해주면 되는데 압축파일로된 경로를 입력해주면 된다. # 은 주석의 역할이므로 설명이나 간단제목을 적는다 이름으로 정의하고 싶은 부분을 변수처럼 왼쪽에 적...
  • 웹지기 11-02 5463 0 0 댓글 0
  • 81 [ synology ] ssh 접속하기 - root 계정 접속
  • 일단 ssh 를 열어줘야 한다. 제어판 &gt; 터미널 및 SNMP &gt; 터미널 &gt; SSH 서비스 활성화 체크 &gt; 포트 : 원하는포트(기본은 22 되도록 변경) &gt; 적용 사용자는 관리자의 권한을 가진 일반 사용자라 할지라도 ssh에 접속은 가능하나 root로의 전환은 불가능하다 root계정에 접속하고 싶다면 ssh에admin으로 로그인을 해야 한다. 비밀번호는 admin에서 설정한 비번과 같다 일반적으로 admin의 계정은 ...
  • 웹지기 06-15 6369 0 0 댓글 0
  • 80 [ windows ] xmanager / xshell / xftp / xlpd
  • 유료로 상용되는 쉘, ftp, 원격인쇄 프로그램 소개 xmanager / xshell / xftp / xlpd - xmanager = 윈도우에서 리눅스-원격 - xshell = ssh 클라이언트 - xftp = 네트워크 파일 전송 - xlpd = 원격인쇄 https://www.netsarang.com
  • 웹지기 06-11 6014 0 0 댓글 0
  • 79 autoset openssl install
  • 오토셋 버젼안에 openssl이 들어있다.openssl로 key와 csr을 만들자오토셋매니저설정 &gt; 웹서버세부설정 &gt; 웹서버 모듈관리 &gt; mod_ssl.so 체크설정 &gt; PHP세부설정 &gt; PHP확장모듈 설정 &gt; php_openssl.so 체크설정 &gt; 웹서버 세부설정 &gt; 가상호스트 설정C:\Autoset9\server\confhttp.conf 파일 수정Listen 80 하단에 Liste...
  • 웹지기 09-09 8107 0 0 댓글 0
  • 열람중 XenServer 5.6에 NAS 구성하기
  • [펌]http://ifwind.tistory.com/10XenServer의 Local Storage 중 일부를 NAS로 구성하여 리눅스 가상머신에는 NFS로 붙이고, 윈도우 가상머신에는 CFS로 붙이는 구성을 해보았다. XenServer에 NAS를 구성하면 다음과 같은 장점이 있다.ISO 라이브러리를 XenServer내에 구성할 수 있다.XenServer는 항상 가동중이기 때문에 VM의 상태와 관계없이 안정적인 네트워크 스토리지를 제공할 수 있다.VM에서 사용하는 중요 데이터를 XenServer에...
  • 웹지기 09-27 7810 0 0 댓글 0
  • 77 뉴스 rss 사이트
  • http://news.einfomax.co.kr/rss/ http://news.jtbc.joins.com/Etc/RssService.aspx SBS http://news.sbs.co.kr/rss/news_rss.jsp 속보 http://api.sbs.co.kr/xml/news/rss.jsp?pmDiv=all 정치 http://api.sbs.co.kr/xml/news/rss.jsp?pmDiv=politics 경제 http://api.sbs.co.kr/xml/news/rss.jsp?pmDiv...
  • 웹지기 10-05 8266 0 0 댓글 0
  • 76 무료 홈페이지 템플릿
  • 무료 템플릿(template) 사용방법템플릿은 여러 분야에서 많이 쓰이는 용어인데 영어사전을 찾아보니깐 ‘본뜨는 공구’, ‘형판’ 이라는 뜻으로 쓰이고 있습니다. html템플릿이라고 하면 html로 미리 웹문서를 디자인 해 놓은 것을 말한다고 보면 될 것 같습니다. 아래 나열된 사이트들은무료로템플릿을 제공하는 사이트들입니다.opendesigns.orgfreetemplatesonline.comcss4free.comfreecsstemplates.comoswd.orgfreecss.infoopensour...
  • 웹지기 09-27 12596 0 0 댓글 0
  • 75 네이버 스마트 에디터 폰트추가 방법
  • smarteditor2.min.js 파일this.addFont('Noto Sans KR', 'sans-serif', 0, "", "", 1, "abcd", true);smarteditor2.min.js 파일에this.addFont('Noto Sans KR', 'sans-serif', 0, "", "", 1, "abcd", true);SmartEditor2.html 샘플파일 스마트에디터 생성시...
  • 웹지기 09-04 12849 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
838
어제
8,352
최대
43,745
전체
10,303,216

그누보드5
Copyright © funyphp.com. All rights reserved.