Solaris DiskSuite (SVM) RAID 구성 및 제거
Posted 2010. 4. 12. 18:40Solaris DiskSuite (SVM) RAID 구성 및 제거
회사에서 굴러다니는 Ultra 10(SPARC-II 440MHz) 로 RAID 구성을 해보았습니다. (작성일자 : 2010.04.12)
환경 : Solaris 8, SPARC
1. RAID 구성 계획 (RAID 1)
1.1. Disk 구성 확인
format 을 이용하여 Disk 구성을 확인해야합니다.
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <ST39120A cyl 17660 alt 2 hd 16 sec 63>
/pci@1f,0/pci@1,1/ide@3/dad@0,0
1. c0t1d0 <Maxtor 5T020H2 cyl 38790 alt 2 hd 16 sec 63>
/pci@1f,0/pci@1,1/ide@3/dad@1,0
Specify disk (enter its number): 0
selecting c0t0d0
[disk formatted, no defect list found]
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
show - translate a disk address
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
volname - set 8-character volume name
!<cmd> - execute <cmd>, then return
quit
format> p <- p 입력
PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
7 - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
!<cmd> - execute <cmd>, then return
quit
partition> p <- p 입력
Current partition table (original):
Total disk cylinders available: 17660 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 9406 4.52GB (9407/0/0) 9482256
1 swap wu 9407 - 9657 123.54MB (251/0/0) 253008
2 backup wu 0 - 17659 8.49GB (17660/0/0) 17801280
3 swap wm 9658 - 9707 24.61MB (50/0/0) 50400
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 home wm 9708 - 17658 3.82GB (7951/0/0) 8014608
partition>
위의 내용을 보시면 총 용량은 8.49GB / 4.52GB swap 123.54MB swap 24.61MB home 3.82GB 로 나오네요.
여기선 제가 미리 metadb 를 사용할 공간을 만들어 놓았습니다.
처음에 swap(metadb) 를 사용할 부분을 만들지 않았다면 2번 슬라이스 swap 를 쪼개서 3번 슬라이스에 넣을수 있습니다.
1.2. Swap(볼륨데이버베이스) 공간 확보하기(c0t0d0s3 을 불륨데이터베이스로 구성)
밑의 내용을 미리 만들지 못한 metadb 용량을 swap 을 이용하여 만드는 방법입니다.
# mkfile 200m /swap1 <--- 500MB 의 swap1 파일을 만드는 방법입니다.
# swap -l
swapfile dev swaplo 블록 사용 가능
/dev/dsk/c0t0d0s1 85,2 16 252992 252992
# swap -a /swap1 <-- swap 에 임시적으로 500MB 만든 파일을 추가합니다.
# swap -l
swapfile dev swaplo 블록 사용 가능
/dev/dsk/c0t0d0s1 85,2 16 252992 252992
/swap - 16 1023984 1023984 <-- 추가되었는지 확인
# swap -d /dev/dsk/c0t0d0s1 <-- swap 에서 c0t0d0s1 제거
이제 1.1. Disk 구성하기를 다시 한번 보시고 제가 만든것 처럼 슬라이스 2번 swap의 용량을 줄여서 슬라이스 3번에 조그만하게 만들어 놓으시면 됩니다.
제가 구성한것을 참고 하시고 swap 을 재구성 하신다음 밑의 내용을 보시면 됩니다.
# swap -a /dev/dsk/c0t0d0s1 <-- swap 에서 c0t0d0s1 을 원래대로 추가
# swap -d /swap <-- swap 에서 /swap 제거(용량이 많으시면 제거 안하셔도 됩니다. ^^:)
1.3. Disk RAID 구성
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 9406 4.52GB (9407/0/0) 9482256
1 swap wu 9407 - 9657 123.54MB (251/0/0) 253008
2 backup wu 0 - 17659 8.49GB (17660/0/0) 17801280
3 swap wm 9658 - 9707 24.61MB (50/0/0) 50400
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 home wm 9708 - 17658 3.82GB (7951/0/0) 8014608
d1 c0t0d0s0, c0t1d0s0
d11 c0t0d0s0
d12 c0t1d0s0
d2 c0t0d0s7, c0t1d0s7
d21 c0t0d0s7
d22 c0t1d0s7
d3 c0t0d0s1, c0t1d0s1
d31 c0t0d0s1
d32 c0t1d0s1
이렇게 미리 구성 계획을 잡고 하시면 편합니다~
2. RAID 1 구성하기
이제부터는 간단간단 하게 작업 하도록 하겠습니다.
# metadb -f -a c3 c0t0d0s3 c0t1d0s03
or
# prtvtoc /dev/rdsk/c0t0d0s0 | fmthard -s - /dev/rdsk/c0t1d0s0
# metainit -f d11 1 1 d0t0d0s0 (원본)
# metainit d12 1 1 c0t1d0s0
# metainit d1 -m d11 (원본)
# metaroot d1 <-- /etc/vfstab 에서 root 부분이 c0t0d0s0 에서 d1 로 변경됩니다.
# metainit -f d21 1 1 d0t0d0s0 (원본)
# metainit d22 1 1 c0t1d0s0
# metainit d2 -m d21 (원본)
# metainit -f d31 1 1 d0t0d0s0 (원본)
# metainit d32 1 1 c0t1d0s0
# metainit d3 -m d31 (원본)
# cp /etc/vfstab /etc/vfstab_old <-- 백업본으로 복사
# vi /etc/vfstab
/dev/dsk/c0t0d0s7 부분들을 /dev/md/dsk/d2 으로 모두 상황에 맞게 수정해 주세요!
# cp /etc/system /etc/system_old <-- 백업본으로 복사
# vi /etc/system
set md:mirrored_root_flag=1 <-- 맨 밑에 부분에 추가
# sync;sync;sync;
# reboot -- -r
부팅시 에러 상황 체크 하시길 바랍니다.
# lockfs -fa <-- Server 에서 많은 I/O 발생이 있다면 하셔야 합니다.
# metattach d1 d12 <-- 동기화 작업, d1이 원본 입니다.
# metattach d2 d22 <-- 동기화 작업, d2이 원본 입니다.
# metattach d3 d32 <-- 동기화 작업, d3이 원본 입니다.
# metastat <-- 동기화 진행 상황 체크하세요~
동기화가 끝이 나면 밑의 내용도 보시고 추가 및 수정 하세요!
# ls -l /dev/dsk/c0t0d0s0
lrwxrwxrwx 1 root root 46 2008년 11월 5일 /dev/dsk/c0t0d0s0 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:a
# ls -l /dev/dsk/c0t0d0s1
lrwxrwxrwx 1 root root 46 2008년 11월 5일 /dev/dsk/c0t0d0s1 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:b
# eeprom "nvramrc=devalias rootdisk /pci@1f,0/pci@1,1/ide@3/disk@0,0 devalias rootmirror @1f,0/pci@1,1/ide@3/disk@1,0"
# eeprom "use-nvramrc?=true"
# eeprom boot-device="rootdisk rootmirror net"
이렇게 하시면 끝이 납니다.
3. RAID 제거 방법
# metadetach d1 d12
# metadetach d2 d22
# metadetach d3 d23
# metaroot /dev/dsk/c0t0d0s0 <-- 다른 부분들은 /etc/vfstab 에서 수동으로 수정하세요)
# reboot -- -r
# metaclear -r d1 ; metaclear d11
# metaclear -r d2 ; metaclear d21
# metaclear -r d3 ; metaclear d31
4. RAID 복구(Disk Fail) 방법
문제 발생한 Disk 의 metadb 삭제 (예, c0t1d0s0)
# metadb -d -f /dev/dsk/c0t1d0s0
새로운 Disk 추가
# devfsadm or disks <-- Solaris 8 이상
# devconfig or disks <-- Solaris 7 이하
추가된 Disk가 format 명령어에서 나타나면 Disk 를 사용할 수 있도록 정리합니다. (newfs 아시죠?)
# metareplace -e d1 c0t1d0s0
복구도 이제 끝~
RAID 구성, 제거, 복구 방법을 대충 대충 해놓았는지라 설명이 부족할 수 있지만 어느정도 Solaris를 만졌다고 하시는 분들은 대충 아실테니 양해 바래요~
d12 c0t1d0s0
d2 c0t0d0s7, c0t1d0s7
d21 c0t0d0s7
d22 c0t1d0s7
d3 c0t0d0s1, c0t1d0s1
d31 c0t0d0s1
d32 c0t1d0s1
이렇게 미리 구성 계획을 잡고 하시면 편합니다~
2. RAID 1 구성하기
이제부터는 간단간단 하게 작업 하도록 하겠습니다.
# metadb -f -a c3 c0t0d0s3 c0t1d0s03
or
# prtvtoc /dev/rdsk/c0t0d0s0 | fmthard -s - /dev/rdsk/c0t1d0s0
# metainit -f d11 1 1 d0t0d0s0 (원본)
# metainit d12 1 1 c0t1d0s0
# metainit d1 -m d11 (원본)
# metaroot d1 <-- /etc/vfstab 에서 root 부분이 c0t0d0s0 에서 d1 로 변경됩니다.
# metainit -f d21 1 1 d0t0d0s0 (원본)
# metainit d22 1 1 c0t1d0s0
# metainit d2 -m d21 (원본)
# metainit -f d31 1 1 d0t0d0s0 (원본)
# metainit d32 1 1 c0t1d0s0
# metainit d3 -m d31 (원본)
# cp /etc/vfstab /etc/vfstab_old <-- 백업본으로 복사
# vi /etc/vfstab
/dev/dsk/c0t0d0s7 부분들을 /dev/md/dsk/d2 으로 모두 상황에 맞게 수정해 주세요!
# cp /etc/system /etc/system_old <-- 백업본으로 복사
# vi /etc/system
set md:mirrored_root_flag=1 <-- 맨 밑에 부분에 추가
# sync;sync;sync;
# reboot -- -r
부팅시 에러 상황 체크 하시길 바랍니다.
# lockfs -fa <-- Server 에서 많은 I/O 발생이 있다면 하셔야 합니다.
# metattach d1 d12 <-- 동기화 작업, d1이 원본 입니다.
# metattach d2 d22 <-- 동기화 작업, d2이 원본 입니다.
# metattach d3 d32 <-- 동기화 작업, d3이 원본 입니다.
# metastat <-- 동기화 진행 상황 체크하세요~
동기화가 끝이 나면 밑의 내용도 보시고 추가 및 수정 하세요!
# ls -l /dev/dsk/c0t0d0s0
lrwxrwxrwx 1 root root 46 2008년 11월 5일 /dev/dsk/c0t0d0s0 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:a
# ls -l /dev/dsk/c0t0d0s1
lrwxrwxrwx 1 root root 46 2008년 11월 5일 /dev/dsk/c0t0d0s1 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:b
# eeprom "nvramrc=devalias rootdisk /pci@1f,0/pci@1,1/ide@3/disk@0,0 devalias rootmirror @1f,0/pci@1,1/ide@3/disk@1,0"
# eeprom "use-nvramrc?=true"
# eeprom boot-device="rootdisk rootmirror net"
이렇게 하시면 끝이 납니다.
3. RAID 제거 방법
# metadetach d1 d12
# metadetach d2 d22
# metadetach d3 d23
# metaroot /dev/dsk/c0t0d0s0 <-- 다른 부분들은 /etc/vfstab 에서 수동으로 수정하세요)
# reboot -- -r
# metaclear -r d1 ; metaclear d11
# metaclear -r d2 ; metaclear d21
# metaclear -r d3 ; metaclear d31
4. RAID 복구(Disk Fail) 방법
문제 발생한 Disk 의 metadb 삭제 (예, c0t1d0s0)
# metadb -d -f /dev/dsk/c0t1d0s0
새로운 Disk 추가
# devfsadm or disks <-- Solaris 8 이상
# devconfig or disks <-- Solaris 7 이하
추가된 Disk가 format 명령어에서 나타나면 Disk 를 사용할 수 있도록 정리합니다. (newfs 아시죠?)
# metareplace -e d1 c0t1d0s0
복구도 이제 끝~
RAID 구성, 제거, 복구 방법을 대충 대충 해놓았는지라 설명이 부족할 수 있지만 어느정도 Solaris를 만졌다고 하시는 분들은 대충 아실테니 양해 바래요~
'OS 운영체제 및 보안 > Solaris' 카테고리의 다른 글
Solaris Bind 자동 스크립 (0) | 2010.10.11 |
---|---|
[스크랩] 시스템 shutdown 명령어 (0) | 2010.06.01 |
Solaris 설치 후 기본 설정 (0) | 2010.04.12 |
Solaris8 에서 APM(Apache, PHP, MY-SQL) 설치와 보안서버(SSL) 설치 (0) | 2009.09.30 |
Solaris에서 DHCP를 이용시 hostname 변경 방법 (0) | 2009.07.07 |
/usr/sbin/pmconfig PROM 이름으로 변환하는데 실패 라는 Log가 나올때... (0) | 2009.06.15 |
SSH, FTP 접속 딜레이가 생길때... (0) | 2009.05.22 |
[스크랩] Disk sector error(soft or hard) 복구 방법 (0) | 2009.03.19 |
[스크랩] Solaris 시스템 점검 및 장애복구 방법 (0) | 2009.03.19 |
[스크랩] Solaris 시스템 현황보기 (0) | 2009.02.24 |
- Filed under : OS 운영체제 및 보안/Solaris