Sunday, April 8, 2018

CentOS 6.6 리눅스 관리] 1.1 디스크 관리 - 추가 및 인식


안녕하세요. 썬구루입니다. 이 게시물에서는 CentOS 6.6 리눅스에서 디스크 관리하는 방법에 대해 알아보도록 하겠습니다. 디스크 관리, 파일시스템 관리, 파일시스템 Mount/Unmount는 한 세트로 꼭 알아두시는 것이 좋습니다. 서버시스템에서 가장 장애가 많이 나는 것이 하드디스크입니다. 그래서 디스크 교체, 파티션 분할, 파일시스템 생성 및 마운트를 꼭 알고 있어야 합니다. 그럼 먼저 하드디스크에 대해 알아볼까요?

■ 하드 디스크란? (Hard Disk Drive)

하드 디스크 드라이브, 하드 디스크, 하드 드라이브라 부르는 이것은 데이터를 영구적으로 저장하기 위해 사용되는 컴퓨터의 주요 장치이다. 알루미늄 합금 또는 강화유리 위에 자성 재료로 박막 처리된 원형 디스크(플래터(Platters)들을 윈의 중심 축에 여러 겹으로 쌓아 올려져 모터로 빠르게 회전시켜 데이터를 랜덤하게 영구적 저장, 검색, 삭제하는 스핀들 모터 방식의 기계식 하드 디스크와 앞에 언급한 기계식 디스크와는 달리 플래시 메모리 기반의 전자식으로 동작하는 SSD (Solid-State Drive) 디스크가 있다.

SSD 디스크는 기계식 디스크보다 향상된 검색 속도, 낮은 지연 속도, 낮은 소음률을 가진다. 하지만 기계식보다 용량 대비 비용이 비싼 것이 단점이다.

■ 디스크 어레이 컨트롤러 (Disk Array Controller)

디스크 어레이 컨트롤러는 물리적인 디스크 드라이브를 관리하고 논리적 유닛으로 표현하는 장치이다. 이를 디스크 I/O 컨트롤러라 부르기도 한다. PC  메인보드 경우 두 개의 주요 논리 칩셋이 있는데 하나가 Northbridge 또 다른 하나가 Southbridge이다. Southbridge가 I/O Controller Hub로 동작하고  IDE, SATA, USB 등의 디바이스를 제어를 관장한다. 다시 말해 PC 메인보드 칩셋에 SATA I/O 컨트롤러가 내장되어 있다. 관련된 정보는 https://en.wikipedia.org/wiki/Southbridge_(computing)에 상세히 나와있다. 단 영문이라는 게... 쩝~

PC에서 IDE나 E-IDE 방식 같은 경우 요즘으로 치면 과거의 유물이고 요즘은 SATA 방식을 사용한다. SATA 하드 디스크, SATA SSD, SATA DVD-ROM 같은 디바이스 등을 PC 메인보드의 SATA 커넥터에 SATA 케이블을 사용하여 연결할 수 있다.

서버 같은 경우 온보드 I/O 컨트롤러 또는 별도의 RAID 컨트롤러 카드를 서버 메인보드 PCI-Express 슬롯에 장착하여 사용한다. 서버 경우 SATA 또는 SAS 방식의 하드디스크를 사용하는데 보통 SAS RAID 컨트롤러 카드를 서버에 추가 장착하여 사용한다. 그리고 이를 디스크 베이에 연결된 디스크 백플레인(Back plane)에 연결하고 디스크 가이드(또는 트레이(Tray), 캐디(Caddy)라 부름)가 부착된 SAS나 SATA 디스크를 여기에 장착한다.

SAS 컨트롤러
디스크 베이 및 백플레인
하드디스크

■ 서버에 디스크 장착하는 방법

서버는 구동 중에 디스크를 추가하면 바로 인식되어 사용할 수 있다. 이러한 기능을 Hot-plug라고 하는데 서버는 이러한 기능이 있는 디스크를 사용한다. 우리가 PC나 노트북에 USB 메모리를 꽂으면 바로 인식되어 사용 가능할 수 있도록 해주는 그 기능이다. 하지만 여기서 인식이라고 하는 것은 하드웨어적으로 인식되는 것이지 운영체제 측면에서 디바이스 파일이 자동으로 만들어지는 것을 말하는 것은 아니다. 운영체제 측면에서 하드 디스크 인식을 위해 별도의 작업을 해줘야 한다.

서버 디스크를 아래 그림과 같은 디스크 가이드(또는 Caddy라 부름)와 결합하고 서버에 장착되어 있는 디스크 블랭크(Disk Blank 또는 Caddy Blank라고 함)를 빼내고 그 자리에 디스크를 밀어 넣어 장착한다. 매우 쉽다. 단 커넥터 방향을 잘못된 방향으로 밀어 넣지 말 것.

디스크를 서버에 장착할 때 강하고 빠르게 집어넣으면 상급자에게 뒤통수 맞는다.

대략 80~90%를 천천히 밀어 넣고 디스크 가이드 손잡이 부분이 걸리는 느낌이 날 때 손잡이를 천천히 밀어 넣어본다. 잘 들어가면 끝까지 밀어 손잡이가 딸깍거리며 잠기도록 만든다. 만약 잘 안 들어가면 잘못된 방향을 밀어 넣은 것이다. 성공적으로 장착되면 하드 디스크 LED가 반짝거리는 것을 확인할 수 있다.

디스크 가이드
하드디스크가 장착된 서버

이 이상은 회사에서 배우시길. 백번 보는 것보다 한 번 경험하는 것이 기억에 쏙~!!








■ VMware Workstation 12 Pro 기반의 가상머신에 대한 I/O 컨트롤러 및 가상 SCSI 하드 디스크 최대 지원 수

VMware Workstation에서 사용되는 가상머신의 가상 디바이스(메인보드, 디스크 컨트롤러, 네트워크 카드 등등)는 표준 디바이스를 사용한다. 그리고 디스크 어레이 컨트롤러는 The LSI Logic LSI53C10xx Ultra320 SCSI I/O controller 가 지원된다. 단 가상머신에서 사용하는 이 I/O 컨트롤러는 하드웨어적인 RAID 기술을 지원하지 않는다. 단순히 하나의 컨트롤러에 15개의 디바이스를 연결할 수 있는 JBOD(Just a Bunch of Disks) 타입의 I/O 컨트롤러로 동작한다. 하나의 가상머신에 총 4개의 SCSI 컨트롤러를 추가할 수 있고 4 x 15 = 60. 최대 60개의 SCSI 디바이스를 가상머신에 부착할 수 있다.

 서버시스템 하드디스크 연결 구성도

■ lspci 명령

리눅스 서버의 PCI 버스 및 이에 연결된 PCI 디바이스 정보를 보기 위해 사용하는 명령이다. 아래처럼 명령을 실행하니 가상머신에 LSI Logic SCSI I/O 컨트롤러가 장착되어 있는 것을 확인할 수 있다. 이 명령을 통해 VMware Workstation 가상머신은 표준 디바이스를 사용한다는 것을 알 수 있다.


■ lsscsi 명령

이 명령은 시스템에 부착된 SCSI 디바이스를 확인하기 사용하는 명령이다.

(1). lsscsi-0.23-2.el6.x86_64.rpm 패키지 설치

lsscsi 명령에 관련된 패키지는 CentOS 기본 설치에서 설치되지 않는다. 그래서 lsscsi-0.23-2.el6.x86_64.rpm 패키지를 설치해줘야 lsscsi 명령을 사용할 수 있다. 이를 위해 CentOS 6.6 설치 1번 ISO 파일을 가상머신에 연결 후 패키지를 설치해야 한다.

CentOS 6.6 ISO 파일을 가상머신에 연결하는 방법은 다음과 같다. VMware Workstation 사용 방법은 책과 동영상으로 잘 설명해두었습니다. 게시물 분류 정보를 보고 잘 참고를 하시길 바랍니다.

VMware Workstation에서 CentOS 가상머신 선택 > VM 메뉴 > Settings > CD/DVD 디바이스 > 우측 Use ISO image file 라디오 버튼 선택 > Browse 버튼을 눌러 탐색기에서 CentOS-6.6-x86_64-bin-DVD1.iso 파일 선택 > 우측 Device Status의 체크박스 2개 선택 > OK 버튼 선택


위 그림과 같이 ISO 파일을 가상머신에 연결하면 자동으로 리눅스에 ISO 이미지가 인식이 된다. 그러면 아래 그림과 같이 lsscsi에 관련된 소프트웨어 패키지가 있는 디렉터리로 이동하여 rpm 명령으로 패키지를 설치한다. rpm 명령은 차후에 배우게 될 것이다.


(2). 명령 형식

lsscsi [옵션]

(3). 옵션

옵 션
내 용
-d
 디바이스에 대한 major와 minor 번호를 같이 보여준다. 
-l
 디바이스에 대한 세부 정보를 같이 보여준다.
-g
 디바이스에 대한 generic device name을 같이 보여준다.



(4) 예제

lsscsi 명령을 아래와 같이 실행하면 가상머신에 하드 디스크와 CD/DVD 드라이브가 하나씩 부착되어 있는 것을 확인할 수 있다.


명령 결과의 줄 앞부분에 [ 숫자:숫자:숫자:숫자 ] 가 있는데 [H:C:T:L]로 표기되며 각 부분은 아래를 나타낸다.

H : Host Adapter ID
C : SCSI Channel on Host Adapter
T : ID
L : LUN

■ 가상머신에 디스크 추가

가상머신에 가상 디스크를 추가하는 방법은 쉽다. 아래와 같은 순으로 디스크를 추가하자.

VMware Workstation에서 CentOS 가상머신 선택 > VM 메뉴 > Settings > Add 버튼 > Hard Disk > Next 버튼 > SCSI > Next 버튼 > Create a new virtual disk > next 버튼 > 20GB, Store virtual disk as a single file > Finish 버튼


디스크 추가 후 lsscsi 명령을 실행하면 새로 추가한 디스크에 대한 정보가 나타나지 않는다. 하지만 하드웨어적으로는 인식이 되어 있다.

 [root@centos01 ~]# lsscsi
 [0:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
 [2:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
 [root@centos01 ~]# 

CentOS 운영체제 측면에서 디스크를 인식시키기 위해서 아래와 같은 명령을 실행하면 된다. 디스크 추가 후 이를 인식시키기 위해 서버를 리부팅 시키는 것은 별로 좋은 행동이 아니다. 서버는 24시간 365일 지속적인 서비스를 제공하기 위해 사용되는 장비이기 때문에 웬만한 일 아니고서는 리부팅을 시키지 않는다.

아래 명령을 사용하여 SCSI I/O 컨트롤러의 정보를 확인한다.

 [root@centos01 ~]# lspci -tv
 -[0000:00]-+-00.0  Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge
           +-01.0-[01]--
           +-07.0  Intel Corporation 82371AB/EB/MB PIIX4 ISA
           +-07.1  Intel Corporation 82371AB/EB/MB PIIX4 IDE
           +-07.3  Intel Corporation 82371AB/EB/MB PIIX4 ACPI
           +-07.7  VMware Virtual Machine Communication Interface
           +-0f.0  VMware SVGA II Adapter
           +-10.0  LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI
           +-11.0-[02]----00.0  Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
 [root@centos01 ~]#

디스크 디바이스 재검색(rescan)을 하기 위해 scan 파일이 사용되는데 이 파일의 위치를 알기 위해 아래와 같이 find 명령을 사용한다.

 [root@centos01 ~]# find /sys/devices -name scan -exec ls -l {} \;
 --w-------. 1 root root 4096 2016-06-28 10:16  /sys/devices/pci0000:00/0000:00:07.1/host1/scsi_host/host1/scan
 --w-------. 1 root root 4096 2016-06-28 10:21  /sys/devices/pci0000:00/0000:00:07.1/host2/scsi_host/host2/scan
 --w-------. 1 root root 4096 2016-06-28 10:21 /sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host0/scan
 [root@centos01 ~]# 

lspci과 find 명령의 결과를 비교하면 0000:00:10:0 이 SCSI I?O 컨트롤러를 나타내고 관련된 파일이 아래와 같다는 것을 알 수 있다.

- /sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host0/scan

아래와 같이 이 파일에 echo 명령을 사용하여 와일드카드 문자를 전달하면 디스크 디바이스를 재검색(rescan) 한다. 그리고 lsscsi  명령으로 디바이스 정보를 다시 확인하면 새로 추가한 디스크를 인식한 것을 알 수 있다. 오옷!! 리부팅 없이 잘 인식되네

 [root@centos01 ~]# echo "- - -" > /sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host0/scan
 [root@centos01 ~]# lsscsi
 [0:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
 [0:0:1:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sdb
 [2:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
 [root@centos01 ~]# 


echo 명령의 인자값 - - - 의 의미는 - 기호가 모든이라는 의미를 가지고 있다. 그리고 이에 대한 설명은 Redhat 사이트에 잘 나와있다. [ 링크 ]

첫 번째 - 기호 : Channel Number
두 번째 - 기호 : SCSI Target ID
세 번째 - 기호 : LUN Values

다음 게시물에서는 fdisk를 활용한 파티션 분할에 대해 알아본다.






No comments:

Post a Comment