20th Anniversary
  회원가입   회원찾기
  ID PW
 
  공통
  Solaris x86
  Solaris
  이전 나만의 팁
 

   제 목 : Disk 기본 관리
   작성자 : 장중혁 날짜 : 2004-03-17
   분류 : Solaris 조회수 : 11997

슬라이스 이동을 통한, 기본적인 디스크 장애 관리기법입니다...

By www.itsem.net

----------------------------------------------------------------------

Disk 관리

1) ufsdump를 이용한 Disk 관리

: * slice단위의 data이동에 사용, 하나의 디스크에 여러개의 슬라이스가 있을 땐 사용 불편
* 소스, 타켓 의 슬라이스 크기나, 디스크 type 틀려도 사용 가능
* ufs file system에서만 사용가능

1. target disk에 slice 생성

:동일한 Disk Type일 경우

# /usr/sbin/prtvtoc /dev/rdsk/소스디스크s2 | /usr/sbin/fmthard [ -n 볼륨이름 ] -s - /dev/rdsk/타켓s2

:Disk type이 틀릴땐, format 으로 해당 slice 생성

2. target disk의 slice format 요

#newfs /dev/rdsk/타켓디스크각각의 slice


3. ufsdump | ufsrestore로 cp

: cdrom으로 부팅하여, 소스디스크- 타켓디스크 dump 하는 경우를 권장하지만, normal booting도 괜찮음
대신 dump 시 Disk I/O는 없어야 함

# mkdir /tmp/root2
# mount /dev/dsk/타켓디스크_슬라이스 /tmp/root2
# cd /tmp/root2
# ufsdump 0f - /dev/rdsk/소스_슬라이스 | ufsrestore rvf -

(주의) \\\"ufsrestore rvf /dev/rdsk/타켓_슬라이스\\\" 같이 mount 하지 않고, 바로 dump 불가!!


4. Os Disk 라면 Boot Block 추가

# cd /usr/platform/`uname -m/lib/fs/ufs
# installboot bootblk /dev/rdsk/타켓Disk_s0


etc> * swap 슬라이스는 공간만 맨들어 두면 된다.
* 디스크의 슬라이스가 여러개일때, 자동으로 dump 하는 shell script 이용 가능
그러나, 이런 경우는 dd가 편리
* logger 를 이용하여, shell script을 만들어 두고, dump 소요 시간을 /var/adm/message에서 확인한다.
# logger -p \\\"user.notice\\\" \\\"dump Start.......\\\"
# ufsdump ...............
# logger -p \\\"user.notice\\\" \\\"dump End..........\\\"


5. 모든 작업이 끝나면, init 0으로 가서, 소스디스크를 빼고, 타켓디스크로 교환한다.
spare로 가지고 있을려면, 타켓Disk의 vfstab 변경

6. 광Disk 를 OS Disk 로 사용할때

: Fiber 인터페이스를 가지는 디스크는 , 시스템의 각각의 slot별로 wwn no.를 가지고 있으므로, cdrom
부팅하여, 다음의 과정을 거친후, 디스크를 교환해야 한다.


www.sun.co.kr/ - 기술문서 메뉴
-------------------------------------------------------------

FCAL disk를 boot disk로 사용할 경우 disk가 WWN을 가지고 있기 때문에
disk교체시 WWN을 바꿔주어야만 error없이 booting을 할수 있다.

다음과 같은 순서대로 실행 하여야 한다.

1) disk를 교체 한다.

2) OS cdrom 을 이용하여 single user mode 로 booting한다.

3) disk partition을 만든후 filesystem을 creation하고, mount한후 data를
restore한다.

4) \\\"installboot\\\" command를 이용하여 bootblock을 install 한다.

5) root partition을 mount한후 device tree를 re-build한다.
# drvconfig -r /a -p /a/etc/path_to_inst
# cd /devices
# find . -print | cpio -pduVm /a/devices
# disks -r /a
# devlinks -r /a

6) luxadm command를 사용하여 EEPROM의 \\\"boot-device\\\" parameter를 수정한다.
# luxadm set_boot_dev /dev/dsk/{root slice entry}
(가능하면, EEPROM의 \\\"boot-device\\\" parameter로 같이 수정한다.)

7) system을 rebooting한다

-------------------------------------------------------------------


2) dd 를 이용한 Disk 관리

* 디스크에 여러개의 slice가 있는 경우, 디스트를 통으로 cp 할때 사용
* ufs 가 아닌 다른 파일 시스템일때도 사용 가능 ( vfs )
* dd 는 low-level로 disk cp 를 하므로, type 틀린 Disk에서는 사용을 자제한다.
* 대용량 hdd에서 , 적은 data만을 사용하고 있을땐 , ufsdump가 더 빠르다.
* OS Disk일 경우, installboot 가 필요 없다.

1. cdrom 부팅이나, 싱글모두 부팅을 권장하지만, 일반 레벨 부팅도 상관 없다.

2. # dd if=/dev/rdsk/소스디스크s2 of=/dev/rdsk/타켓디스크s2 bs=128k

cf> tape cp : if=/dev/rmt/0 of=/dev/rmt/1
floppy cp : if=이미지파일 of=/vol/dev/aliases/floppy bs=1440k

3. logger 를 이용하여, 셀스크립으로 만들어서 사용



3) tape 을 이용한 Network backup/ Restore 를 연습해 두면 , 쓸모가 많다.

: * .rhosts 과 tar 를 사용해서 Remote dat에 백업
* 백업할 곳을, root 퍼미션으로 share한뒤, ufsdump하는게 더 편하다.
aaa 10.0.0.1 : s0 : os
bbb 10.0.0.2 : s7 : 덮프 뜰 곳 : tmp/root2로 mount

bbb > share -o root=aaa /tmp/root2
aaa > cd /net/aaa/tmp/root2; touch aaa <- write test
aaa > ufsdump 0f - /dev/rdsk/c0t0d0s0 | ufsrestore rvf -


4) tar를 이용한 Disk 관리

: OS을 자주 설치해야할 경우, 동일 모델의 Sparc 이라면, 초기 설치시의 모든 파일을
tar 로 묶어 둔뒤, 필요할때, 다시 풀면, OS 설치랑 동일한 효과를 가진다.
만약 A 랑 B가 동일한 모델의 시스템이라면, A에서 Os 깔고, 패치하고, 이런 저런 세팅
한후, tar로 OS 슬라이스를 통채로 묶고, 압축한뒤, 이 파일만 B 시스템으로 옮겨서
압축 풀고, vfstab 설정하고, installboot 만 하면, 새로 설치한 거랑 동일하게 작동한다.
<-- cd 로 싱글 부팅해서 작업해야 겠죠?


* 기회가 되면 Veritas Netback 를 이용한 backup도 눈여겨 본다.


[목록보기]  [출력]  
  사이트 소개  |  연락처  |  사이트 맵  |  이메일주소 무단 수집 거부 Copyright (c) 2021 Solaris School. All rights reserved.