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