VirtualBox로 가상머신을 사용하다보면 저장소 용량이 모자란 경우가 발생한다.
일반적인 PC 환경에서는 하드디스크를 추가하거나 외장하드를 사용한다.
가상머신의 경우 저장소 파일을 추가하고 CentOS에서 Mount하고 파티션을 설정하면 된다.
아래와 같이 진행한다.
-
가상 하드디스크 생성과 추가
-
하드디스크 파티션 생성과 포맷
-
파일 시스템 Mount
가상 하드디스크 생성과 추가
가상머신의 설정 - 저장소 - 컨트롤러: SATA에서 HDD에 + 버튼을 눌러 가상 디스크를 추가한다.
![](https://blog.kakaocdn.net/dn/emVuLH/btr7TkrwsCU/OekGm7G7iYpBK8GuETKnq1/img.png)
2TB 이상인 경우 CLI에서 명령어를 사용해서 추가해야 한다.
$ vboxmanage createmedium --filename "가상머신경로/파일명.vdi" --size 디스크용량(MB단위) \
--format VDI --variant Standard
자세한 방법은 아래 포스팅을 참고한다.
하드디스크 파티션 생성과 포맷
장치 경로 확인
가상 머신을 부팅하고 추가한 가상 디스크의 장치 경로를 확인한다.
$ sudo fdisk -l
아래와 같이 일반적으로 /dev/sdb 또는 /dev/sdc로 연결된다.
파티션이 생성되지 않아 기본 정보가 출력된다.
![](https://blog.kakaocdn.net/dn/tRAMu/btr753HMBd9/gdFRYA7Q56ueJbuNG52gJ0/img.png)
파티션 생성
fdisk 실행
fdisk를 실행하고 파티션을 생성한다.
장치 경로가 /dev/sdb로 확인되어 해당 경로를 사용한다.
$ sudo fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x7ca12be4.
WARNING: The size of this disk is 11.0 TB (10995116277760 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT).
Command (m for help):
사용 가능한 명령어 확인
m 키를 입력해서 사용 가능한 명령어들을 확인한다.
아래 명령어 중에서 d, n, w를 사용한다.
Command (m for help): m # 명령어 확인
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition # 사용
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition # 사용
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit # 사용
x extra functionality (experts only)
Command (m for help):
기존 파티션 삭제
d 명령어로 기존 남아있는 파티션을 삭제한다.
신규 추가 디스크이기 때문에 파티션이 없다는 메시지가 출력되어야 정상이다.
Command (m for help): d # 명령어 확인
No partition is defined yet!
Command (m for help):
신규 파티션 생성
n 명령어로 파티션을 생성한다.
p 를 입력해서 primary 파티션을 선택하고 default 값들을 사용한다. (엔터 계속 입력)
Command (m for help): n # add a new partition
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p # 또는 엔터
Partition number (1-4, default 1): 1 # 또는 엔터
First sector (2048-4294967295, default 2048): # 엔터 입력
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4294967294, default 4294967294):
Using default value 4294967294
Partition 1 of type Linux and of size 2 TiB is set
Command (m for help): w # write table to disk and exit
파티션 생성이 완료되면 w 명령어로 저장하고 종료한다.
파티션 포맷
생성한 파티션을 ext4 파일시스템으로 포맷한다.
# /dev/sdb 장치를 ext4 파일시스템으로 포맷
$ sudo mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) # y 입력
아래와 같이 포맷이 진행된다.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
335544320 inodes, 2684354560 blocks
134217728 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
81920 block groups
32768 blocks per group, 32768 fragments per group
4096 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
done
파일 시스템 Mount
파티션 목록을 확인해보면 ext4로 추가한 /dev/sdb 장치가 없다.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.7M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda2 50G 2.3G 45G 5% /
/dev/sda3 50G 53M 47G 1% /home
/dev/sda6 9.8G 37M 9.2G 1% /tmp
/dev/sda1 976M 152M 757M 17% /boot
/dev/sda7 131G 61M 125G 1% /workspace
tmpfs 3.2G 0 3.2G 0% /run/user/1000
$
파일시스템이 마운트 되지 않아 발생하는 것으로 해당 파티션을 Mount하면 사용 가능하다.
재부팅 이후에도 사용해야 하므로 fstab에 추가한다.
파티션 UUID 확인
추가한 파티션의 UUID를 확인하고 /dev/sdb의 값을 복사한다.
$ sudo blkid
# 출력 된 UUID 중 /dev/sdb 항목의 값 복사
# TYPE="ext4" 인지 확인
아래와 같이 /dev/sdb 값이 확인된다.
![](https://blog.kakaocdn.net/dn/qyP5C/btr72aV0smM/Kk7od5vziCH4PEITBiGwZ1/img.png)
fstab 수정
fstab 파일을 열고 해당 UUID를 이용하여 파일시스템을 Mount한다.
$ sudo vi /etc/fstab
# 가장 마지막줄에 아래와 같이 입력
# 복사한UUID 폴더경로 ext4 defaults 0 0
# /dev/sdb 폴더경로 ext4 defaults 0 0
UUID=25963689-1e5f-4086-92fd-02525ec19785 / ext4 defaults 1 1
UUID=90e764a7-a577-4ead-8910-e63afd91a1f8 /boot ext4 defaults 1 2
UUID=76e95bc8-bcd0-4162-9a0e-cf56ba8c6859 /home ext4 defaults 1 2
UUID=77736055-55ac-4cc7-b5ff-d03f82cf04a8 /tmp ext4 defaults 1 2
UUID=7cf82f4d-4acd-4858-a4ed-40e3f4b012de /workspace ext4 defaults 1 2
UUID=227b4854-fa4a-472a-909a-819083cf607b swap swap defaults 0 0
# 마지막 줄에 아래와 같이 입력한다.
UUID=1a48f762-888b-40f9-8ae0-1ae70f9f124e /data ext4 defaults 0 0
# 또는
/dev/sdb /data ext4 defaults 0 0
# :wq 입력하여 저장하고 종료
재부팅해서 정상적으로 Mount 되었는지 확인한다.
# 재부팅
$ sudo reboot now
# 연결한 폴더와 파티션 정보 확인
$ ls -al /data
합계 24
drwxr-xr-x 3 root root 4096 Apr 3 15:44 .
dr-xr-xr-x. 20 root root 4096 Mar 24 15:01 ..
drwx------ 2 root root 16384 Apr 3 15:44 lost+found
# 연결 된 파티션 목록 확인
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.6M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda2 50G 2.3G 45G 5% /
/dev/sda6 9.8G 37M 9.2G 1% /tmp
/dev/sda3 50G 53M 47G 1% /home
/dev/sda1 976M 152M 757M 17% /boot
/dev/sda7 131G 61M 125G 1% /workspace
/dev/sdb 10T 73M 9.5T 1% /data # 정상적으로 추가된 것이 확인된다.
tmpfs 3.2G 0 3.2G 0% /run/user/1000
아래 블로그를 참고하였다.
'::: IT인터넷 :::' 카테고리의 다른 글
VirtualBox의 CentOS7에 Guest Additions 설치하기 (0) | 2023.04.20 |
---|---|
VirtualBox CentOS 가상머신의 하드디스크 2개 추가와 RAID 0 설정 (1) | 2023.04.17 |
VirtualBox 가상 환경에 2TB 이상의 하드디스크 추가하기 (0) | 2023.04.10 |
우분투 서버 20.04를 22.04로 업그레이드 (94) | 2023.01.30 |
파이썬 라이브러리 의존성 확인하기 (0) | 2022.08.25 |