인터널 OS 디스크가 sda가 아닌 sdb로 바뀌는 경우가 있다.
원래는 sda 였지만 추후에 레이드컨트롤러 추가 또는 외장스토리지 추가에 의해 sda 장치명이 바뀔수 있다.
OS 디스크가 sda가 꼭 되어야 하는 법은 없지만 원래 sda 였던 장치명으로 바꾸고 싶어 아래와 같이 udev 를 사용해 보았다.

테스트 OS : RHEL 6.5

RHEL 6.x CentOS 6.x 에 해당된다.

 

1. 아래 두가지 명령중 하나로 디스크의 WWID 를 확인
[root@RHCS-NODE02 ~]# scsi_id -g -u /dev/sdb
[root@RHCS-NODE02 ~]# scsi_id –whitelisted –replace-whitespace –device=/dev/sdb

 

2. 확인된 WWID를 바탕으로 아래처럼 작성.
[root@RHCS-NODE02 ~]# vi /etc/udev/rules.d/20-names.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id –whitelisted –replace-whitespace –device=%N", RESULT=="특정 WWID", SYMLINK+="sdz%n"

-> RESULT=="특정 WWID" 부분 " " 안에 WWID 입력
-> SYMLINK+="sdz%n" 부분에 심볼릭링크할 장치명 입력(여기서는 sdz 지정, 만약 sda로 지정한다면 이미 sda가 있기 때문에 변경이 되지 않는다.)

3. 제대로 작성이 되었는지 확인
[root@RHCS-NODE02 ~]# udevadm test /block/sdb 2>&1 | grep sdz

4.적용 하기
[root@RHCS-NODE02 ~]# start_udev

5. 장치 확인
[root@RHCS-NODE02 ~]# ls -la /dev/sdz
lrwxrwxrwx 1 root root 3 Mar 27 11:17 /dev/sdz -> sda

* 결론 :
링크된 장치는 생성이 가능하다. 하지만 디스크 컨트롤러에 대한 모듈이 로딩되는 순서에 의해 정해지는 장치의 근본적인 명(sda, sdb…)은 OS에서는 바꿀 수 없는 듯 하다.
어쩌면 하드웨어 레벨에서 순서를 바꾸면 될 수도 있을 듯 하지만 쉽지 않을 듯.

* 참고 :
레드햇은 fstab에 장치명을 기입하기 보다는 Label, UUID, by-id 를 사용하는 것을 권장한다고 한다.
또한 볼륨이 lvm 일 경우에도 문제가 없다.
원래 내 목적은 OS 디스크의 장치명을 sda로 지정하고 싶었으나 방법이 없는 것으로 확인했으며
메인보드 모델, 메인보드의 펌웨어, 레이드 컨트롤러 모델, 펌웨어 등의 여러 요소에 의해 변경될 수 있다는 결론을 내린다.

 

참조 :

http://mapoo.net/os/oslinux/sda-sdb-%eb%93%b1-block-device-name-%eb%b3%80%ea%b2%bd-%eb%b0%a9%ec%a7%80-%eb%b0%a9%eb%b2%95/

리눅스 디스크 장치명 변경. RHEL 6

리눅스 디스크 장치명 변경. RHEL 6”에 대한 2개의 생각

  • 2016년 10월 29일 12:07 오전
    고유주소

    위방법도 맞습니다만… OS 를 설치 하자마자 적용 하셔야 하고… 스토리지를 끊고 로컬디스크가 sda로 올라 왔을시 적용 하고… 스토리지를 연결 하고…또한 스토리지디스크 개수가 많으면 손이 많이 가는 작업 인듯 합니다… 

    응답
  • 2018년 1월 8일 5:09 오후
    고유주소

    자꾸 인터널 볼륨이 바뀌어서 개빡치네요 ㅅㅂ

    응답

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

Solve : *
19 − 6 =