MFS 분산 파일 시스템 설치 배포

MFS 분산 파일 시스템 설치 배포
Moose File System 은 내결함성을 갖춘 네트워크 분산 파일 시스템으로 데이터를 네트워크의 서로 다른 서버에 분포한다
 
관리 서버(managing server)
각 데이터 저장 서버의 관리, 파일 읽기와 쓰기 스케줄링, 파일 공간 회수와 복구를 책임진다.다중 노드 복제
메타데이터 로그 서버(Metalogger server)
마스터 서버의 변경 로그 파일을 백업합니다. 파일 형식은changelog_ml.*.mfs,master 서버에 문제가 생겼을 때 대신 작업을 진행할 수 있도록 합니다
데이터 저장 서버(data servers)
관리 서버에 연결하고 관리 서버의 스케줄링에 따라 저장 공간을 제공하며 고객에게 데이터 전송을 제공한다.
클라이언트 마운트 사용(client computers)
fuse 핵 인터페이스를 통해 원격 관리 서버에서 관리하는 데이터 저장 서버를 연결합니다.공유되어 보이는 파일 시스템은 로컬 유닉스 파일 시스템과 같은 효과를 사용합니다.

1 서버 환경 설명


호스트 이름
IP
설치된 소프트웨어
실행 중인 프로세스
MASTER
192.169.20.188
Zlib   libpcap fuse  mfs
mfsmaster
METALOGGER
192.168.20.185
Zlib   libpcap fuse  mfs
mfsmetalogger
CHUNK
192.168.20.193
Zlib   libpcap fuse  mfs
Mfschunk
CHUNK2
192.168.20.156
Zlib   libpcap fuse  mfs
Mfschunk
CLIENT
192.168.20.*
Zlib   libpcap fuse  mfs
mfsmount

1 mfs 시스템 설치


1.1 다운로드


현재 버전: MooseFS 3.0.55
안정 버전: MooseFS 2.0.77
https://moosefs.com/download/sources.html안정판 선택

1.2 패키지 해제

# tar zxf  moosefs-2.0.77-1.tar.gz

1.3 사용자 mfs 만들기

# useraddmfs  -M -s /sbin/nologin
# id mfs
uid=501(mfs)  gid=501(mfs)  =501(mfs)

1.4 zliblibpcap과fuse 의존 패키지 설치 (client단이fuse를 필요로 하는 것을 제외하고는 설치하지 않을 수 있음)
 zlib
http://www.zlib.net/  # zlib
# tar zxf zlib-1.2.8.tar.gz
# cd zlib-1.2.8
# ./configure && make && make install
 pcap
http://www.tcpdump.org/#latest-release  # pcap
# tar zxf libpcap-1.7.4.tar.gz
# cd libpcap-1.7.4
# ./configure && make && make install
 fuse:
http://sourceforge.net/projects/fuse/files/fuse-2.X/  # fuse
# cd fuse-2.9.4
# ./configure --prefix=/usr # prefix , /usr , fuse /usr/lib, 
make && make install

1.5 컴파일 설치 moosefs

# ./configure \
--prefix=/usr/local/mfs  --with-default-user=mfs --with-default-group=mfs                    
# make && make install

2 master 구성


사용된 파일 etc의 mfsmaster.cfg, 사용되는 도구 sbin 아래의 mfsmaster.
2.1 구성 파일 만들기
#cp /usr/local/mfs/etc/mfs/mfsmaster.cfg.dist  /usr/local/mfs/etc/mfs/mfsmaster.cfg
  :
MATOCS_LISTEN_HOST =172.20.1.61
# cp /usr/local/mfs/etc/mfs/mfsexports.cfg.dist  /usr/local/mfs/etc/mfs/mfsexports.cfg
 
# cp /usr/local/mfs/etc/mfs/mfstopology.cfg.dist  /usr/local/mfs/etc/mfs/mfstopology.cfg
 
# cpmetadata.mfs.emptymetadata.mfs

2.2 부팅 성공

#   /usr/local/mfs/sbin/mfsmaster start
 
open files limit has been set to: 4096
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfsmaster modules ...
exports file has been loaded
topology file has been loaded
loading metadata ...
metadata file has been loaded
no charts data file - initializing empty charts
master <->metaloggers module: listen on *:9419
master <->chunkservers module: listen on 192.168.20.188:9420
main master server module: listen on *:9421
mfsmaster daemon initialized properly
 
# /usr/local/mfs/sbin/mfscgiserv start        # WEB 
http://ip:9425 mfs 

이.


3 마스터 명령 브로셔


usage:
/usr/local/mfs/sbin/mfsmaster
[-vfun] [-tlocktimeout] [-c cfgfile] [-i] [-a] [-e] [-x [-x]]
[start|stop|restart|reload|info|test|kill]
 
-v
print version number and exit 버전 표시 또는 종료
-f
run in foreground 프론트에서 실행
-u
log undefined config variables 정의되지 않은 사용 가능한 설정 기록
-n
코어 덤프 크기의 제한을 늘리려고 시도하지 마십시오. 핵심 덤프 크기 제한을 늘리지 마십시오.
-t
locktimeout: lockfilelockfile 대기 시간
-c
cfgfile:use given config file 지정한 프로필 사용하기
-i
ignore some metadata structure errors (attach orphans to root, ignore names without inode 등) 메타데이터 구조 오류 무시
-a
변경 로그에서 메타데이터 자동 복원 변경 로그에서 메타데이터 복원
-e
start without metadata (download all from leader) 는 메타데이터에서 시작하지 않으며, 모든leader에서 다운로드합니다
-xx
even more verbose output 더 자세한 출력
-x
produce more verbose output 더 자세한 출력 생성
 

3 chunkserver 구성


3.1 zlib, pcap,fuse 설치 컴파일

http://www.zlib.net/  # zlib
# tar zxf zlib-1.2.8.tar.gz
# cd zlib-1.2.8
# ./configure && make && make install
 
http://www.tcpdump.org/#latest-release  # pcap
# tar zxf libpcap-1.7.4.tar.gz
# cd libpcap-1.7.4
# ./configure && make && make install
 
http://sourceforge.net/projects/fuse/files/fuse-2.X/  # fuse
# cd fuse-2.9.4
# ./configure --prefix=/usr
make && make install

3.2 mfs 사용자 만들기

# useradd mfs -M -s /sbin/nologin

 

3.3 컴파일 설치 moosefs

# ./configure \
--prefix=/usr/local/mfs
--with-default-user=mfs
--with-default-group=mfs
# make && make install

3.4 moosefs 구성


사용된 파일 etc의 mfschunkserver.cfg와 mfshdd.cfg,
사용된 도구 sbin 아래 mfschunkserver
# cpmfschunkserver.cfg.dist mfschunkserver.cfg
 
# cp /usr/local/mfs/etc/mfs/mfshdd.cfg.dist  /usr/local/mfs/etc/mfs/mfshdd.cfg
 
# vi etc/mfs/mfschunkserver.cfg
 
MASTER_HOST = 192.168.20.188

 

3.5 하드 드라이브 추가

# Echo “ - - -” > /sys/class/scsi_host/host0/scan
# Fdisk �Cl /dev/sdb
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

3.6 lvm 파티션 만들기

# fdisk -c /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI  or OSF disklabel
Building a new DOS disklabel with disk identifier 0xa3e03970.
Changes will remain in memory only, until you decide to write  them.
After that, of course, the previous content won't be recoverable.
 
Warning: invalid flag 0x0000 of partition table 4 will be  corrected by w(rite)
 
WARNING: cylinders as display units are deprecated. Use command  'u' to
         change units to  sectors.
 
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305):
Using default value 1305
 
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.

3.7 볼륨 그룹 생성

# vgcreate mfs /dev/sdb1
  Physical volume  "/dev/sdb1" successfully created
  Volume group  "mfs" successfully created

3.8 논리 볼륨 생성

# lvcreate -L 8G -n lvmfs mfs
 
# vgs
 
  VG   #PV #LV #SN Attr   VSize   VFree
  mfs    1    1   0 wz--n-  9.99g 1.99g
# lvs
 
  LV    VG    Attr       LSize  Pool Origin Data%  Meta%   Move Log Cpy%Sync Convert
  lvmfs mfs  -wi-a-----   8.00g
 

3.9 파티션 포맷 및 마운트

# mkfs.ext4 /dev/mapper/mfs-lvmfs
 
# mount /dev/mapper/mfs-lvmfs /data/
 
# df -h /data    # 
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/mfs-lvmfs
                       7.8G   18M  7.4G    1% /data
 

3.10 자동 마운트 설정

# Vi /etc/fstab
UUID=71628bae-bc06-434c-9f1f-e01929ffd164 /data ext4    defaults        0 0
# Umount /data # 
# df -h /data    # 
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg-root    19G  5.7G   12G   33% /
# mount �Ca    # 
# df -h /data 
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/mfs-lvmfs   7.8G   18M  7.4G    1% /data

3.11 공유 디렉토리 설정

# vi etc/mfs/mfshdd.cfg
/data
# chown -R mfs.mfs /data

3.12 환경 변수 설정

vi /etc/profile
PATH=$PATH:/usr/local/mfs:/usr/local/mfs/sbin
source /etc/profile

3.13 mfschunk 시작

# mfschunkserver start
open files limit has been set to: 16384
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
setting glibc malloc arena max to 8
setting glibc malloc arena test to 1
initializing mfschunkserver modules ...
hdd space manager: path to scan: /data/
hdd space manager: start background hdd scanning (searching for  available chunks)
main server module: listen on *:9422
no charts data file - initializing empty charts
mfschunkserver daemon initialized properly

 
두 대의 chunkserver가 같은 설정을 합니다.

4 Client 구성


4.1 컴파일 설치 zlib pcapfuse

http://www.zlib.net/  # zlib
# tar zxf zlib-1.2.8.tar.gz
# cd zlib-1.2.8
# ./configure && make && make install
http://www.tcpdump.org/#latest-release  # pcap
# tar zxf libpcap-1.7.4.tar.gz
# cd libpcap-1.7.4
# ./configure && make && make install
http://sourceforge.net/projects/fuse/files/fuse-2.X/  # fuse
# cd fuse-2.9.4
# ./configure --prefix=/usr
make && make install

4.2 mfs 사용자 만들기

useradd mfs -M -s /sbin/nologin

4.3 컴파일 설치 moosefs

# ./configure \
--prefix=/usr/local/mfs
--with-default-user=mfs
--with-default-group=mfs
--enable-mfsmount
# make && make install

4.4 폴더 만들기

mkdir /mfs

4.5 마운트

mfsmount /mnt �CH 192.168.20.188

좋은 웹페이지 즐겨찾기