[클러스터][파일] PVFS2 병렬 파일 시스템 환경 구축

##### PVFS2 설치하기 #######

작성일 : 2007년 12월 12일

작성자 : 서진우

1. PVFS2 설치

– meta server, ioserver, pvfs_client 에 모두 설치

# cd /usr/local/src

# tar xzvf pvfs-2.6.3.tar.gz

# cd pvfs-2.6.3

# ./configure –prefix=/usr/local/pvfs2 –with-kernel=/usr/src/kernels/2.6.9-55.EL-smp-x86_64

# make

# make install

# make kmod

# make kmod_install

# depmod -a /lib/modules/2.6.9-55.ELsmp

# modprobe pvfs2

2. PVFS2 설정

– meta server 에 적용

# cd /usr/local/pvfs2/bin

# ./pvfs2-genconfig /etc/pvfs2-fs.conf /etc/pvfs2-server.conf

—————————————————————————————————

**********************************************************************

    Welcome to the PVFS2 Configuration Generator:

This interactive script will generate configuration files suitable

for use with a new PVFS2 file system.  Please see the PVFS2 quickstart

guide for details.

**********************************************************************

You must first select the network protocol that your file system will use.

The only currently supported options are “tcp”, “gm”, and “ib”.

(For multi-homed configurations, use e.g. “ib,tcp”.)

* Enter protocol type [Default is tcp]:

Choose a TCP/IP port for the servers to listen on.  Note that this

script assumes that all servers will use the same port number.

* Enter port number [Default is 3334]:

Choose a directory for each server to store data in.

* Enter directory name: [Default is /pvfs2-storage-space]: /clusterfs

Choose a file for each server to write log messages to.

* Enter log file location [Default is /tmp/pvfs2-server.log]: /var/log/pvfs2-server.log

Next you must list the hostnames of the machines that will act as

I/O servers.  Acceptable syntax is “node1, node2, …” or “node{#-#,#,#}”.

* Enter hostnames [Default is localhost]: dm002,dm003,dm004

Now list the hostnames of the machines that will act as Metadata

servers.  This list may or may not overlap with the I/O server list.

* Enter hostnames [Default is localhost]: dm001

Configured a total of 4 servers:

3 of them are I/O servers.

1 of them are Metadata servers.

* Would you like to verify server list (y/n) [Default is n]?

Writing fs config file… Done.

Writing 4 server config file(s)… Done.

———————————————————————————————————

# /usr/local/src/pvfs-2.6.3/examples

# cp pvfs2-server.rc /etc/rc.d/init.d/pvfs2-server

# chmod 755 /etc/rc.d/init.d/pvfs2-server

# ensync /etc/pvfs*

# ensync /etc/rc.d/init.d/pvfs2-server

# ensh /sbin/chkconfig –add pvfs2-server

# ensh /sbin/chkconfig –level 345 pvfs2-server on

3. pvfs2 서비스 시작하기..

– 모든 시스템에 적용

저장공간이 만들어지지 않고 처음 구동하실때 사용하는 명령어입니다.

# /usr/local/pvfs2/sbin/pvfs2-server /etc/pvfs2-fs.conf /etc/pvfs2-server.conf-`hostname` -f

해당 저장공간이 이미 만들어져 있다면 아래의 명령어만 실행하시면됩니다.

# /usr/local/pvfs/sbin/PVFS2-server /etc/PVFS2-fs.conf /etc/PVFS2-server.conf-`hostname`

# ls /clusterfs

5d8a54bb collections.db storage_attributes.db

# /etc/rc.d/init.d/pvfs2-server start

# vi /etc/pvfs2tab

——————————————————————————————————-

tcp://dm001:3334/pvfs2-fs /pvfs2-data pvfs2 default,noauto 0 0

4. 테스트

# /usr/local/pvfs2/bin/pvfs2-ping -m /pvfs2-data

——————————————————————————————————-

[root@dm001 ~]# /usr/local/pvfs2/bin/pvfs2-ping -m /pvfs2-data

(1) Parsing tab file…

(2) Initializing system interface…

(3) Initializing each file system found in tab file: /etc/pvfs2tab…

   PVFS2 servers: tcp://dm001:3334

   Storage name: pvfs2-fs

   Local mount point: /pvfs2-data

   /pvfs2-data: Ok

(4) Searching for /pvfs2-data in pvfstab…

   PVFS2 servers: tcp://dm001:3334

   Storage name: pvfs2-fs

   Local mount point: /pvfs2-data

   meta servers:

   tcp://dm001:3334

   data servers:

   tcp://dm002:3334

   tcp://dm003:3334

   tcp://dm004:3334

(5) Verifying that all servers are responding…

   meta servers:

   tcp://dm001:3334 Ok

   data servers:

   tcp://dm002:3334 Ok

   tcp://dm003:3334 Ok

   tcp://dm004:3334 Ok

(6) Verifying that fsid 1292344335 is acceptable to all servers…

   Ok; all servers understand fs_id 1292344335

(7) Verifying that root handle is owned by one server…

   Root handle: 1048576

     Ok; root handle is owned by exactly one server.

=============================================================

The PVFS2 filesystem at /pvfs2-data appears to be correctly configured.

——————————————————————————————————

# /usr/local/pvfs2/bin/pvfs2-ls /pvfs2-data

lost+found

# /usr/local/pvfs2/bin/pvfs2-cp -t pvfs_test_data.tar /pvfs2-data

– 상태 모니터링

/usr/local/pvfs2/bin/karma ( XGUI)

5. Kernel Interface (mount)를 이용한 사용 방법

– 모든 서버에 ..

# /usr/local/pvfs2/sbin/pvfs2-client -f -p /usr/local/pvfs2/sbin/pvfs2-client-core &

# mount -t pvfs2 tcp://dm001:3334/pvfs2-fs /pvfs2-data

# vi /etc/rc.d/rc.local

—————————————————————————————————–

/usr/local/pvfs2/sbin/pvfs2-client -f -p /usr/local/pvfs2/sbin/pvfs2-client-core &

/bin/mount -t pvfs2 tcp://dm001:3334/pvfs2-fs /pvfs2-data

6. BMT 결과 ..

6GB 파일 copy 작업 시 성능

– local-pvfs ( local_load 0.4 pvfs_io_load 0.1 )

/usr/local/pvfs2/bin/pvfs2-cp -t pvfs_test_data.tar /pvfs2-data

Wrote 7203962880 bytes in 162.155675 seconds. 42.368140 MB/seconds

real    2m37.612s

user    0m0.009s

sys     0m10.518s

– pvfs-local

– local-same partition ( load 2 )

real    6m26.416s

user    0m0.264s

sys     0m17.787s

18MB/seconds

– local-other partition ( load 1.5 )

real    6m17.658s

user    0m0.231s

sys     0m17.661s

17MB/seconds

– nfs-local partition ( nfs_load : 8 ,local_load 6 )

real    3m12.046s

user    0m0.256s

sys     0m17.945s

– local-iscsi partition

real    7m16.244s

user    0m0.244s

sys     0m19.668s

[root@alang00 tmpdoc]# cat local_bench.txt

Version  1.03      ——Sequential Output—— –Sequential Input- –Random-

                    -Per Chr- –Block– -Rewrite- -Per Chr- –Block– –Seeks–

Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP

dm002         2000M 69055  86 150770  26 37456   3 80171  99 3417821  99 +++++ +++

                    ——Sequential Create—— ——–Random Create——–

                    -Create– –Read— -Delete– -Create– –Read— -Delete–

files:max:min        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP

dm002            16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++

[root@alang00 tmpdoc]# cat nfs_bench.txt

Version  1.03      ——Sequential Output—— –Sequential Input- –Random-

                    -Per Chr- –Block– -Rewrite- -Per Chr- –Block– –Seeks–

Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP

dm004         2000M 33579  39 54127   5  8374  69 39581  59 3203894  99 +++++ +++

                    ——Sequential Create—— ——–Random Create——–

                    -Create– –Read— -Delete– -Create– –Read— -Delete–

files:max:min        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP

dm004            16  1037   3   805  86  2581   7   998   3  8001   7  1901   4

[root@alang00 tmpdoc]# cat iscsi_bench.txt

Version  1.03      ——Sequential Output—— –Sequential Input- –Random-

                    -Per Chr- –Block– -Rewrite- -Per Chr- –Block– –Seeks–

Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP

dm002         2000M 66477  85 396865  70 12579   1 88356  99 3170283  99  62.7   0

                    ——Sequential Create—— ——–Random Create——–

                    -Create– –Read— -Delete– -Create– –Read— -Delete–

files:max:min        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP

dm002            16  5367  99 +++++ +++ +++++ +++  5410  99 +++++ +++ 17105 100

[root@alang00 clunix_doc]# cat /home/alang/tmpdoc/pvfs_bench.txt

Version  1.03      ——Sequential Output—— –Sequential Input- –Random-

                    -Per Chr- –Block– -Rewrite- -Per Chr- –Block– –Seeks–

Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP

dm002         2000M 61735  69 23101   1 11576   1 58388  73 24594   1 4897.2   3

                    ——Sequential Create—— ——–Random Create——–

                    -Create– –Read— -Delete– -Create– –Read— -Delete–

files:max:min        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP

dm002            16   276   0  1138   1   230   0   169   0  1066   1    62   0

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.