이 테크팁에서는 솔라리스 9 또는 10 운영 체제와 솔라리스 볼륨 매니저를 실행하는 시스템에서 메타 데이터베이스가 실수로 파손되거나 손상되었을 때 사용할 수 있는 복구 절차를 다룹니다.
메타 데이터베이스가 파손되는 원인
원인은 여러 가지일 수 있습니다. 서로 다른 디스크에 두 버전의 솔라리스 OS를 설치하여 테스트해 보았습니다. 디스크 0과 디스크 1에는 솔라리스 9 OS를 미러링하고 메타 데이터베이스 복제본을 디스크 0과 디스크 1의 3번 슬라이스에 넣었습니다. 솔라리스 10 OS는 미러링 없이 디스크 3에 설치했습니다.
앞서 같은 시스템에서 작업한 결과로 인해 솔라리스 10 OS의 메타 데이터베이스 복제본이 디스크 0과 디스크 1의 3번 슬라이스에 있었습니다. 여기서 metadb -d를 실행하자 모든 복제본이 삭제되었습니다. 그런 다음, 시스템을 재부팅했습니다. 이 시스템은 디스크 0을 기본 부팅 디스크로 사용하고 auto-boot? 매개변수 값이 true였는데 다음과 같은 메시지가 반복해서 나타났습니다.
Rebooting with command: boot Boot device: disk0 File and args: SunOS Release 5.9 Version Generic_122300-21 64-bit Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Cannot mount root on /pseudo/md@0:0,0,blk fstype ufs panic[cpu1]/thread=140a000: vfs_mountroot: cannot mount root 0000000001409970 genunix:vfs_mountroot+70 (0, 0, 0, 200, 1472178, 0) %l0-3: 0000000001465800 0000000001465800 0000000000002000 00000000014af400 %l4-7: 00000000014b5000 0000000001411e88 0000000001466000 0000000001469400 0000000001409a20 genunix:main+90 (1409ba0, f005ea98, 1409ec0, 393d61, 2000, 500) %l0-3: 0000000000000001 000000000140a000 0000000001413048 0000000000000000 %l4-7: 0000000078002000 000000000039c000 00000000014bdc10 0000000001067e98 skipping system dump - no dump device configured rebooting...
문제 해결 방법
1. 우선, OpenBoot PROM ok 프롬프트로 반복되는 재부팅을 멈춰야 합니다.
원격 데스크탑에서 ALOM(Advanced Light Out Management)을 사용하는 경우, #.을 입력하여 시스템 컨트롤러 콘솔의 sc> 프롬프트로 이동합니다. 그런 다음, break -y를 입력합니다. 그리고 console -f를 입력하여 다시 ok 프롬프트로 돌아갑니다.
서버실에서 콘솔을 사용하는 경우에는 Stop-A, L1-A 또는 Break 키 등을 누릅니다.
2. ok 프롬프트가 나타나면 CD-ROM으로 부팅할 수 있습니다(또는 디스크 3에서 부팅).
3. 해당 시스템으로 부팅한 후 디스크 0의 루트 슬라이스를 마운트합니다. 예를 들면 다음과 같습니다.
# mount /dev/dsk/c1t0d0s0 /mnt
4. /mnt/etc/system 파일을 수정하여 다음 두 행 사이의 모든 내용을 삭제하도록 합니다.
Begin MDD root info (이 행은 편집하지 마십시오.)
End MDD root info (이 행은 편집하지 마십시오.)
5. /mnt/etc/vfstab 파일을 수정하여 /dev/md/dsk 항목 모두를 /dev/dsk로 교체합니다.
참고: 메타 장치에 대한 레코드가 없는 경우에는 format 명령을 사용하여 각 슬라이스의 크기를 확인하는 것이 도움이 됩니다.
6. 솔라리스 볼륨 매니저의 정보는 /kernel/drv/md.conf, /etc/lvm/mddb.cf 및 /etc/lvm/md.cf의 3개 파일에 저장됩니다. 솔라리스 볼륨 매니저를 사용하지 않는 시스템에서 가져온 파일로 이들 세 파일을 덮어쓰십시오.
# cp /kernel/drv/md.conf /mnt/kernel/drv/md.conf # cp /etc/lvm/mddb.cf /mnt/etc/lvm/mddb.cf # cp /etc/lvm/md.cf /mnt/etc/lvm/md.cf
7. 그런 다음, 디스크 0에서 부팅하면 제대로 작동합니다.
이 글의 영문 원본은
System Recovery for the Solaris OS When the Meta Database Is Deleted Accidentally
에서 보실 수 있습니다.
"관리자코너" 카테고리의 다른 글
- 메타 데이터베이스 삭제 사고 시 솔라리스 OS의 시스템 복구 (댓글 0개 / 트랙백 0개) 2008/07/10
- 멀티스레드 시스템의 리소스를 최대한 사용하기 위한 기본 예약 클래스 설정 (댓글 0개 / 트랙백 0개) 2008/07/15
- DTrace 를 이용하여 Defunct 프로세스 문제 해결하기 (댓글 0개 / 트랙백 0개) 2008/07/28
- 솔라리스 볼륨 메니저를 이용하여 솔라리스9, 10 에서 루트를 미러링 하는 방법 (댓글 1개 / 트랙백 0개) 2008/09/20
- UFS Dump 의 안전한 관리 방법 (댓글 14개 / 트랙백 1개) 2007/08/20
- 솔라리스9 혹은 그 이상 버전을 운용하는 시스템상의 하드 디스크로 부터 WAN 부트이용하기 (댓글 0개 / 트랙백 0개) 2007/12/14
- rsync 와 sudo 를 이용한 원격 업데이트 (댓글 0개 / 트랙백 0개) 2008/03/11
- 윈도우 혹은 리눅스에서 솔라리스 파티션에 접근하기 (댓글 0개 / 트랙백 0개) 2008/05/19
- 솔라리스 라이브 업그레이드를 이용하여 논-글로벌 존의 솔라리스10을 업그레이드 하는 방법 (댓글 0개 / 트랙백 0개) 2008/01/16
- 썬 디바이스 검출 툴 - 버젼 1.0 (댓글 3개 / 트랙백 0개) 2007/01/23
댓글을 달아 주세요