다음과 같이 구성된 스토리간 구조에서 붙였다
* 일단 스토리지 쪽에서는 하나의 룬을 리눅스 서버쪽으로 주었다
* SAN 스위치에서는 모든 경로를 한 조인에 넣어 사용했다
1. 리눅스에서 초기 하드정보를 보자
# fdisk -l
“생략”
Disk /dev/sdc: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 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
Disk /dev/sdc doesn’t contain a valid partition table
Disk /dev/sdd: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 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
Disk /dev/sdd doesn’t contain a valid partition table
Disk /dev/sde: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 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
Disk /dev/sde doesn’t contain a valid partition table
Disk /dev/sdf: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 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
이렇게 sdc ~ sde까지 네개의 패스가 보인다.
스토리지와 스위치간 2중화 스위치와 서버가 2중화로 걸었기 때문일것이다.
2. 멀티 패스 데몬을 설치하자
– yum 또는 rpm을 통해 설치하자 설치되어 있다면 건너뛰면 된다
# yum install device-mapper-multipath
또는 rpm을 통해 설치 해야 하는데
rpm을 통해 설치 할때는 먼저 “device-mapper-multipath-libs” 와 “kpartx”를 설치한다.
# rpm -ivh http://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/kpartx-0.4.9-56.el6.x86_64.rpm
# rpm -ivh http://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/device-mapper-multipath-libs-0.4.9-56.el6.x86_64.rpm
(이날은 이상하게 한국 centos 미러사이트가 없어서 일본으로 했다)
그리고 device-mapper-multipath 설치하자
# rpm -ivh device-mapper-multipath-0.4.9-56.el6.x86_64.rpm
3. Config 파일을 복사해오자
– 나는 rpm을 통해 설치해서 아마 /etc 밑에 multipath.conf 파일이 없었던거 같아 yum으로 설치하면 아마 나타날듯….
– 원본 multipath.conf 파일은 /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf 있다
# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf
4. mpathconf파일 실행
– 이넘을 실행하면 conf파일을 만들어준다는데 난 안되더라…
– 그래도 혹시 함 실행해주자….
5. 서비스를 실행해주자
# service multipathd start
6. 멀티패스 명령을 실행하자!
# multipath
Jan 14 14:17:12 | mpatha: ignoring map
Jan 14 14:17:12 | mpathb: ignoring map
create: mpathc (36001f93105488000018c000200000000) undef XIOTECH,ISE2400
size=2.0T features=’0′ hwhandler=’0′ wp=undef
|-+- policy=’round-robin 0′ prio=1 status=undef
| `- 3:0:0:1 sdc 8:32 undef ready running
|-+- policy=’round-robin 0′ prio=1 status=undef
| `- 3:0:1:1 sdd 8:48 undef ready running
|-+- policy=’round-robin 0′ prio=1 status=undef
| `- 4:0:0:1 sde 8:64 undef ready running
`-+- policy=’round-robin 0′ prio=1 status=undef
`- 4:0:1:1 sdf 8:80 undef ready running
— 뭔가 이루어진듯하다
– sdc ~e가 mpathc로 맵핑 된것이 보인다.
7. 파티션을 다시확인하자
# fdisk -l
Disk /dev/mapper/VolGroup-lv_home doesn’t contain a valid partition table
Disk /dev/sdc: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 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
Disk /dev/sdc doesn’t contain a valid partition table
Disk /dev/sdd: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 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
Disk /dev/sdd doesn’t contain a valid partition table
Disk /dev/sde: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 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
Disk /dev/sde doesn’t contain a valid partition table
Disk /dev/sdf: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 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
Disk /dev/sdf doesn’t contain a valid partition table
Disk /dev/mapper/mpathc: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 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
Disk /dev/mapper/mpathc doesn’t contain a valid partition table
-맵핑된 디스크가 맨 마지막에 보인다.
8. 맵핑된 디스크를 ext4로 포멧하자
# mkfs.ext4 /dev/mapper/mpathc
9. 미리 만들어둔 디렉토리로 마운트
#vi /etc/fstab
/dev/mapper/mpathc /test ext4 defaults 1 2 >>추가한다
– test란 디렉토리로 마운트를 했다.
10. 디스크 정보를 확인해보자
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
50G 1.7G 46G 4% /
tmpfs 12G 0 12G 0% /dev/shm
/dev/sda1 485M 32M 428M 7% /boot
/dev/mapper/VolGroup-lv_home
858G 836M 813G 1% /home
/dev/mapper/mpathc 2.0T 834M 1.9T 1% /test
– 2T 가 정상적으로 마운트 된것이 보인다.
10. 후기
상당히 힘들줄 알았는데.
별다른 config의 변경없이 걍 알아서 잡는다는것이 신기했다!