카이도스의 Tech Blog

grub 본문

지식

grub

카이도스 2022. 8. 3. 14:27
728x90
반응형
 
GRUB은 자체적으로 RAID1을 지원하지 않으므로, 모든 RAID1구성 하드드라이브에 각각 설치해줘야 한다.
 
/dev/sda, /dev/sdb 하드 2개가 소프트레이드 구성되어 있을때, /dev/sda 하드 고장시 /dev/sdb 하드로 부팅을 해야한다.
그럴때 /dev/sdb 에 grub 을 설치하지 않으면 부팅이 되지 않는다.
 
 
※ /dev/sda에 설치
#grub
 
grub> find /grub/stage1
find /grub/stage1
(hd0,0)
(hd1,0)
grub>
 
grub> device (hd0) /dev/sda
device (hd0) /dev/sda
grub>
 
grub> root (hd0,0) --> 지정한 장치를 부팅파티션으로 지정하는 명령어
root (hd0,0)
Filesystem type is ext2fs, partition type 0xfd
grub>
 
grub> setup (hd0) --> 지정한 장치에 GRUB를 자동으로 설치하는 명령어
setup (hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... 27 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>
 
 
 
※ /dev/sdb에 설치
#grub
 
grub> find /grub/stage1
find /grub/stage1
(hd0,0)
(hd1,0)
grub>
 
grub> device (hd0) /dev/sdb
device (hd0) /dev/sdb
grub>
 
grub> root (hd0,0) --> 지정한 장치를 부팅파티션으로 지정하는 명령어
root (hd0,0)
Filesystem type is ext2fs, partition type 0xfd
grub>
 
grub> setup (hd0) --> 지정한 장치에 GRUB를 자동으로 설치하는 명령어
setup (hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... 27 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>
 
 
 
 
 
 
 
[원본]
 
ㅁ. GRUB 재설치
GRUB은 자체적으로 RAID1을 지원하지 않으므로, 모든 RAID1구성 하드드라이브에 각각 설치해줘야 한다.
A. 쉘 프롬프트에서 GRUB을 실행시키면 GRUB의 쉘로 들어간다.
a. shell> grub
------------------------------------ 설명 시작 -------------------------------------
레드햇리눅스은 /boot파티션을 GRUB의루트파티션으로 마운트하는 독특한 설정을 가진다.
GRUB에서의 path는 (,)의 형태이다.
(<디바이스 타입><디바이스 번호>)는 드라이브. 예) (hd0)
(<디바이스 타입><디바이스 번호>,<파티션 번호>)는 파티션. (hd0,0)
(<디바이스 타입><디바이스 번호>,<파티션 번호)는 파일이다. 예) (hd0,0)/grub/grub.conf
SCSI에서는 sda=hd0 sdb=hd1이고, IDE에서는 hda=hd0 and hdb=hd1이다.
SCSI와 IDE가 함께 있는 경우에는 'device (hd0) /dev/hda'같은 명령어로 확실히 알려주는 게 좋다.
------------------------------------- 설명 끝 --------------------------------------
B. 모든 RAID1 구성 하드드라이브의 마스터 부트 레코드에 GRUB을 설치하기.
a. /dev/hda1에 설치
- grub>device (hd0) /dev/hda
- grub>root (hd0,0)
- grub>setup (hd0)
b. /dev/hda2에 설치
- grub>device (hd0) /dev/hdb
- grub>root (hd0,0)
- grub>setup (hd0)
c. 두번째 드라이브(/dev/hdb)도 디바이스번호 0으로 설정한 것에 주의한다.
0번 디바이스는 마스터 부트 레코드(MBR)가 위치할 것이다.
임시로 두번째 드라이브(/dev/hdb)를 0번 디바이스로 설정했으므로,
부팅가능한 MBR을 두번째 드라이브에도 쓰게 된다.
보통 부팅할 때는 첫번째 드라이브(/dev/hda)의 MBR을 사용하게 될것이다.
첫번째 드라이브가 고장나면, 두번째 드라이브에서 부팅하게 될 것이다.
C. 모든 GRUB의 설정화일이 위치한 곳이 3군데인 것을 확인한다.
- grub>find /grub/stage1
(hd0,0) -> /newboot
(hd1,0) -> /newboot
(hd2,0) -> 기존의 /boot
D. 만약 GRUB설정화일이 기준의 /boot에만 있다면 수동으로 GRUB을 설치한다.
(설치가 잘 되었다면 건너뛴다.)
a. device (hd0) /dev/hda
b. install (hd0,0)/grub/stage1 (hd0) (hd0,0)/grub/stage2 p (hd0,0)/grub/grub.conf
c. device (hd1) /dev/hdb
d. install (hd1,0)/grub/stage1 (hd1) (hd1,0)/grub/stage2 p (hd1,0)/grub/grub.conf
e. 'B. 모든 RAID1 구성 하드드라이브의 마스터 부트 레코드에 GRUB을 설치하기'로 되돌아가서 반복한다.
ㅂ. /etc/fstab/을 수정
A. /etc/fstab을 /etc/fstab.bak로 백업.
'cp /etc/fstab /etc/fstab.bak'
B. /boot줄 맨 앞에 #를 넣어서 코멘트 처리한다.
C. 마운트 포인트 /newboot를 /boot로 고친다.
ㅅ. 파티션 테이블 백업
A. sfdisk -d /dev/hda > /partitions.hda
B. sfdisk -d /dev/hdb > /partitions.hdb
C. sfdisk -d /dev/sda > /partitions.sda
D. sfdisk -d /dev/sdb > /partitions.sdb
ㅇ. 디스크 고장 이후 복구
A. 파티션 테이블 복구
sfdisk /dev/hda < /partitions.hda
B. 고장난 디스크를 RAID에서 제거
mdadm /dev/md0 -r /dev/hda1
C. 새로운 디스크를 RAID에 추가
mdadm /dev/md0 -a /dev/hda1
D. 교체한 디스크가 부팅 디스크이면 GRUB을 설치한다.
a. shell> grub
b. grub> device (hd0) /dev/hda
c. grub>root (hd0,0)
d. grub>setup (hd0)
e. 부팅이 안 되면 쌍을 이루는 2개의 RAID 파티션 모두에 한다.

 

728x90
반응형

'지식' 카테고리의 다른 글

iptables  (0) 2022.08.03
# Log all kernel messages to the console.  (0) 2022.08.03
grub 설치  (0) 2022.08.03
[Raid] Raid Controller 테스트  (0) 2022.08.03
[CentOs6.x] 서버 장애로 메인보드 교체시 네트워크 설정  (0) 2022.08.03
Comments