리눅스는
sda sdb sdc 순서로 적용되는 방식이 부팅이 먼저 되는 순서대로 적용이 된다.
sda가 로컬이 될 수도 있고 hba 카드로 받아온 볼륨이 먼저 잡힐 수 있다.
보통 부팅 시 pci부터 읽기 때문에 pci 카드에 장착되어있는 hba가 먼저 잡혀
sda=lun1 sdb=lun2
이런 순서가 되기에 os가 로컬 디스크에 설치되어 있다면 os가 설치된 디스크는 sdc 이후로 표시가 된다.
이런 방식이 헷갈리거나 관리자가 볼기에 불편하다면 부팅 순서를 강제로 바꿔 로컬 디스크부터 먼저 부팅되고 pci는 나중에 읽히게 할 수 있다. 단, 부팅 시간은 좀 더 걸릴 수 있다.
다른 한 방법은 udev를 통해 각 disk나 lun을 링크로 alias를 주어서 관리하는 방법이 있다. 단점으로는 sda sdb를 사용하면 더 헷갈리기에 sda나 다른 장치명이 아닌 ex) disk1 disk2 disk3으로 지정해 관리를 할 수 있다.
부팅순서 변경
부팅 순서 변경은 보통 internal disk를 sda로 첫 번째로 보이기 위해 하는 편이다.
권장사항은 아니다.
/boot/grub/grub.conf를 통해 부팅 순서를 변경한다.
기본 grub.conf
# grub.conf generated by anaconda
|
부팅순서를 변경할 경우
16번째 행 kernel /vmlinuz-..... 행 끝에 rdloaddriver=[qla2xxx|hpsa|ata_piix]를 추가한다. qla2xxx(Qlogic FC카드) hpsa (hp sas array) ata_piix(인텔 칩셋)
EX ) rdloaddriver=qla2xxx,hpsa,ata_piix
qla2xxx를 먼저 읽고 hpsa를 읽고 ata_piix를 읽는다. fc를 우선 확인하고 internal을 확인한다
rdloaddriver=ata_piix,hpsa,qla2xxx
ata_piix -> hpsa -> qla2xxx를 읽는다. internal을 우선 확인하고 fc를 확인한다.
단점, 부팅 순서를 다시 확인하기 때문에 부팅이 느리다.
udev로 장치명 변경
[root@rhel6 rules.d]# scsi_id -gud /dev/sdo
3600508b1001c67ac18827140c2d98e5c
scsi_id -gud /dev/sdo 명령어로 wwn을 확인한다.
/etc/udev/rules.d 디렉토리에 .rules 확장자 파일 생성 후
vi xxx.rules
KERNEL=="sd*", BUS=="scsi", ENV{ID_SERIAL}=="3600508b1001c67ac18827140c2d98e5c", SYMLINK+="disk1%n“
KERNEL - 디바이스가 커널 이름에 대해 일치하는지 확인
BUS - 디바이스의 서브 시스템에 대해 일치하는지 확인
DRIVER - 디바이스를 백업 드라이버의 이름에 대해 일치하는지 확인
NAME - 디바이스 노드에 사용하려는 이름
SYMLINK - 디바이스 노드를 대체하여 동작할 수 있는 심볼릭 링크 리스트
ENV - {} 괄호 안에 있는 변수 값과 일치하는지 확인
양식으로 작성해 주면 된다.
작성 완료 후 재시작
# udevadm control --reload-rules
# udevadm trigger --type=devices --action=change
# ls /dev/disk* 또는 ls -lrt /dev/ | grep disk로 심볼릭 링크로 되어있는걸 확인 할 수 있다.
'IT > 리눅스' 카테고리의 다른 글
리눅스에서 iso 만들기 (0) | 2019.01.18 |
---|---|
rhel cdrom yum repolist 등록하는법 (0) | 2019.01.11 |
rhel 7.4에 ntfs 마운트 (0) | 2018.09.18 |
SAN switch 사용 (0) | 2017.07.20 |
리눅스 disk format (0) | 2017.07.11 |