본문 바로가기

카테고리 없음

CentOS7 -73 리눅스 하드디스크 추가 - 2 ( UUID, 디바이스, 라벨명 )

 

HDD를 분할해서 마운트(디렉터리에 장치를 연결) 하기
Oracle & Maria DBMS(DataBase Management System) 서버에 설정한다.

1. 파티션 분할 계획
- 아래 조건에 맞게 파티션을 분할 한다.
장치명: /dev/sdb (20G)

P: Primary partition
E: Extended partition
L: Logical partition

파일시스템: xfs

	   /dev/sdb2
     +------- E -------+
     |      (10G)      |
+----+-----+-----------+
| P  |  L  |     L     |
+----+-----+-----------+
  |     |        |
  |     |        +-- /dev/sdb6, 7G, /data3
  |     +-- /dev/sdb5, 3G, /data2
  +-- /dev/sdb1, 10G, /data1

2. 영구적 마운트 설정
- 영구적으로 마운트를 설정한다.


미션 풀이> HDD를 분할해서 마운트(디렉터리에 장치를 연결) 하기

>>> 리눅스에서 하드 디스크를 연결하는 방법 <<<

1. 하드 디스크 구매 
- 온라인에서 HDD를 구매

2. 하드 디스크를 장착하는 방법
- 시스템 종료
- 물리적인 하드 디스크를 장착

3. 하드 디스크의 파티션을 분할하는 방법
- 시스템 부팅
- fdisk, parted를 이용해서 파티션을 분할

4. 파일시스템을 생성(포맷)하는 방법
- 파일시스템 종류
- ext -> ext2 -> ext3(CentOS 5) -> ext4(CentOS 6), xfs(CentOS 7)
- |---------------- ----------|
- 사용할 일이 없다. (버전이 낮기 때문에)
- 윈도우10, 11 NTFS(New Tech ... )

5. 파일시스템을 마운트하는 방법
- 특정 디렉터리를 생성
- mount 명령어로 연결한다. (임시적인 방법)
- /etc/fstab에 저장 (영구적인 방법)

        +-- 첫 번째 파티션: 1, 두 번째 파티션: 2, 세 번째 파티션: 3 ...
        +-- 파티션 순서
        |
/dev/sda_
     | |
     | +-- HDD 순서
     | +-- 첫 번째 HDD: sda, 두 번째 HDD: sdb, 두 번째 HDD: sdc
     |
     +-- HDD 종류: h, s 
     +-- h: EIDE 방식의 HDD
     +-- s: SATA, SSD, SCSI, SAS 


파티션의 종류
- Primary partion (주 파티션) 
  하나의 HDD에 4개까지만 생성할 수 있다.
  데이터를 담을 수 있는 파티션 (OS 설치 가능)
- Extended partion(확장 파티션) 
  하나의 HDD에 1개만 생성할 수 있다.
  데이터를 담을 수 없는 파티션이고 논리 파티션을 담을 수 있는 파티션 (OS 설치 불가능)
- Logical partion (논리 파티션) 
  하나의 HDD에 여러 개의 파티션을 생성할 수 있다. 확장 파티션 안에 소속 되어 있는 파티션이다. 
  데이터를 담을 수 있는 파티션 (OS 설치 불가능)


첫 번째 SCSI HDD: /dev/sda
+-----+----+----+
|     |    |    |
+-----+----+----+
   |    |    |
   |    |    +-- 세 번째 파티션: /dev/sda3 (primary partition)
   |    +-- 두 번째 파티션: /dev/sda2 (primary partition)
   +-- 첫 번째 파티션: /dev/sda1 (primary partition)

두 번째 SATA HDD: /dev/sdb
+--+--+----+----+
|  |  |    |    |
+--+--+----+----+
  |  |  |    |
  |  |  |    +-- 네 번째 파티션: /dev/sdb4 (primary partition)
  |  |  +-- 세 번째 파티션: /dev/sdb3 (primary partition)
  |  +-- 두 번째 파티션: /dev/sdb2 (primary partition)
  +-- 첫 번째 파티션: /dev/sdb1 (primary partition)

세 번째 SATA HDD: /dev/sdc
+--+--+----+----+-----+
|  |  |    |    |     |
+--+--+----+----+-----+
  |  |  |    |     |
  |  |  |    |     +-- 다섯 번째 파티션: /dev/sdc5 (Extended partition(Logical partition))
  |  |  |    +-- 네 번째 파티션: /dev/sdc4 (primary partition)
  |  |  +-- 세 번째 파티션: /dev/sdc3 (primary partition)
  |  +-- 두 번째 파티션: /dev/sdc2 (primary partition)
  +-- 첫 번째 파티션: /dev/sdc1 (primary partition)


네 번째 SSD HDD: /dev/sdd
   |--- /dev/sdd2 ----|
+--+--+----+----+-----+
|  |  |    |    |     |
+--+--+----+----+-----+
  |  |  |    |     |
  |  |  |    |     +-- 다섯 번째 파티션: /dev/sdd8 (Extended partition 안에 있는 Logical partition)
  |  |  |    +-- 네 번째 파티션: /dev/sdd7 (Extended partition 안에 있는 Logical partition)
  |  |  +-- 세 번째 파티션: /dev/sdd6 (Extended partition 안에 있는 Logical partition)
  |  +-- 두 번째 파티션: /dev/sdd5 (Extended partition 안에 있는 Logical partition)
  +-- 첫 번째 파티션: /dev/sdd1 (Primary partition)

하나의 HDD에서 분할하는 개수
주 파티션 : 4개 (1 ~ 4)
확장 파티션 : 1개 (1 ~ 4)

주 파티션 : 주파티션 4개
주 파티션 + 확장 파티션 : 주 파티션 3개 + 확장 파티션 1개(논리 파티션 분할)

논리 파티션은 무조건 5번 부터 시작된다.

파티션을 7개를 분할하고 싶다면 :
주 파티션 4개 : X
확장 파티션 1개 + 논리 파티션 7개
주 파티션 1개 + 확장 파티션 1개 + 논리 파티션 : 6개
주 파티션 3개 + 확장 파티션 1개 + 논리 파티션 : 4개
주 파티션 2개 + 확장 파티션 1개 + 논리 파티션 : 5개

하드 디스크 장치명
/dev/ 이름으로 시작한다. 왜? 장치 파일은 /dev 디렉터리에 들어있기 때문이다.

일반 PC에서 사용되는 HDD: IDE -> EIDE, SATA, SSD 방식을 사용한다.
서버에서 사용되는 HDD: SATA, SSD 방식과 SCSI -> SAS를 사용한다.

SATA, SSD HDD의 분 당 회전 속도 : 7200rpm 
- 가격이 저렴하다.
SAS 회전 속도 : 10000, 15000 rpm
- 가격이 비싸다.

/dev/hda
     |
     +-- HDD 종류(IDE -> EIDE)

/dev/sdb
      |
      +-- Disk

/dev/sdb
       |
       +-- HDD의 순서(a, b, c ...)

/dev/sdb1
        |
        +-- 파티션 순서(1,2,3,4,5 ...)
     
/dev/sdb
           /dev/sdb2
     +------- E -------+
     |                 |
+----+-----+-----------+
| P  |  L  |     L     |
+----+-----+-----------+
  |     |        |
  |     |        +-- /dev/sdb6 (두 번째 논리 파티션은 5 다음 번호인 6이다.)
  |     +-- /dev/sdb5 (첫 번째 논리 파티션은 5번 부터 시작된다.)
  +-- /dev/sdb1



>>> 파티션 분할 계획 <<<
장치명: /dev/sdb (20G)
       
	   /dev/sdb2
     +------- E -------+
     |      (10G)      |
+----+-----+-----------+
| P  |  L  |     L     |
+----+-----+-----------+
  |     |        |
  |     |        +-- /dev/sdb6 (두 번째 논리 파티션은 5 다음 번호인 6이다.), 7G, /data3
  |     +-- /dev/sdb5 (첫 번째 논리 파티션은 5번 부터 시작된다.) 3G, /data2
  +-- /dev/sdb1, 10G, /data1


1. 하드 디스크 구매 
- 온라인에서 HDD를 구매한다.

2. 시스템 종료
HDD를 장착하기 위해서 시스템을 종료한다.
# shutdown -h +3

3. HDD 장착
HDD 시스템에 장착하고 시스템을 재부팅한다.

4. 파티션 분할
fdisk를 이용해서 파티션을 분할한다.
fdisk 로 HDD 의 파티션을 분할한다.
fdisk : 파티션 분할 명령어 (2T이상은 사용할 수 없다.)
parted : 파티션 분할 명령어 (2T이상은 이 명령어를 사용한다.)

-l: List the partition tables 
# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ad6c0

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    62914559    30407680   8e  Linux LVM

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors   <-- 새로 장착한 두 번째 HDD
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-root: 29.0 GB, 28982640640 bytes, 56606720 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


fdisk 명령어:
d : 파티션 삭제
n : 파티션 추가
p : 파티션 테이블 확인
q : 저장하지 않고 종료
w : 저장하고 종료
t : 파티션의 id를 변경
l : 파티션의 타입 확인

# fdisk /dev/sdb

>>> 파티션 분할 계획 <<<
장치명: /dev/sdb (20G)
       
	   /dev/sdb2
     +------- E -------+
     |      (10G)      |
+----+-----+-----------+
| P  |  L  |     L     |
+----+-----+-----------+
  |     |        |
  |     |        +-- /dev/sdb6 (두 번째 논리 파티션은 5 다음 번호인 6이다.), 7G, /data3
  |     +-- /dev/sdb5 (첫 번째 논리 파티션은 5번 부터 시작된다.) 3G, /data2
  +-- /dev/sdb1, 10G, /data1


n -> 엔터 -> 엔터 -> 엔터  -> +10G -> p
n -> e -> 엔터 -> 엔터 -> 엔터 -> p
n -> l -> 엔터 -> +3G -> p
n -> l -> 엔터 -> 엔터 -> p -> w

# fdisk -l /dev/sdb

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x3c76e4ec

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
/dev/sdb2        20973568    41943039    10484736    5  Extended
/dev/sdb5        20975616    27267071     3145728   83  Linux
/dev/sdb6        27269120    41943039     7336960   83  Linux

5. 파일시스템 생성(포맷)
분할된 파티션에 파일시스템을 생성(포맷)한다.
참고 : https://ko.wikipedia.org/wiki/XFS
mkfs.xfs  : xfs 파일시스템 생성(포맷)하는 명령어
# mkfs.xfs /dev/sdb1
# mkfs.xfs /dev/sdb5
# mkfs.xfs /dev/sdb6

6. 마운트할 디렉터리 생성
마운트 : 저장장치와 디렉터리를 연결하는 것이다.
파티션과 연결할 디렉터리 /data1, /data2, /data3 를 생성한다.
# mkdir /data1 /data2 /data3
# ls -ld /data[1-3]
drwxr-xr-x. 2 root root 6  7월  6 15:12 /data1
drwxr-xr-x. 2 root root 6  7월  6 15:12 /data2
drwxr-xr-x. 2 root root 6  7월  6 15:12 /data3

7. 마운트
파티션을 마운트할 디렉터리에 연결한다.
mount : 마운트하는 명령어
형식 : mount [옵션] 저장장치 디렉터리
df  : 저장공간 확인 명령어

아래 3개의 명령어를 장치를 디렉터리에 마운트를 했지만 이 부분은 임시적인 것으로 시스템을 부팅하면 다시 마운트가 해제된다. 
이를 영구적으로 마운트 하기 위해서는 8번에 있는 /etc/fstab 파일을 수정해야 한다.
# mount /dev/sdb1 /data1
# mount /dev/sdb5 /data2
# mount /dev/sdb6 /data3

# df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                   919464       0    919464   0% /dev
tmpfs                      931500       0    931500   0% /dev/shm
tmpfs                      931500    9876    921624   2% /run
tmpfs                      931500       0    931500   0% /sys/fs/cgroup
/dev/mapper/centos-root  28289540 4663072  23626468  17% /
/dev/sda1                 1038336  153780    884556  15% /boot
tmpfs                      186304       0    186304   0% /run/user/1000
tmpfs                      186304       0    186304   0% /run/user/0
tmpfs                      186304       0    186304   0% /run/user/1002
/dev/sdb1                10475520   32992  10442528   1% /data1
/dev/sdb5                 3135488   32992   3102496   2% /data2
/dev/sdb6                 7326720   32992   7293728   1% /data3

8. /etc/fstab 수정
영구적으로 마운트 하기 위해서 /etc/fstab 파일을 수정한다.
<디바이스> <마운트포인트> <파일시스템타입> <옵션> <덤프> <파일시스템체크순서>

vi /etc/fstab -> :r !blkid | grep sdb

# vi /etc/fstab
  :
  :(생략)
UUID=f4a7bd30-bb7b-42fc-b1c5-910069119608  /data1  xfs  defaults 0 0
UUID=14982190-6fc0-45a4-86f9-bdf557fbe0dc  /data2  xfs  defaults 0 0
UUID=fb2fa4bb-249b-4e66-bf3c-42bfb0bb6f43  /data3  xfs  defaults 0 0

9. 리부팅 후 확인
서버를 리부팅한 후 서버가 잘 부팅이 되면 정상적으로 마운트가 잘 된 것이다.
로그인해서 df로 마운트된 상태를 확인한다.
# reboot
$ df
$ df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                   919464       0    919464   0% /dev
tmpfs                      931500       0    931500   0% /dev/shm
tmpfs                      931500    9808    921692   2% /run
tmpfs                      931500       0    931500   0% /sys/fs/cgroup
/dev/mapper/centos-root  28289540 4663716  23625824  17% /
/dev/sdb5                 3135488   32992   3102496   2% /data2  <--
/dev/sdb1                10475520   32992  10442528   1% /data1  <--
/dev/sdb6                 7326720   32992   7293728   1% /data3  <--
/dev/sda1                 1038336  153780    884556  15% /boot
tmpfs                      186304       0    186304   0% /run/user/1000
tmpfs                      186304       0    186304   0% /run/user/1002
Recent Posts
Popular Posts
Recent Comments