Beberapa waktu lalu. Saya perlu menulis skrip yang akan mempartisi dan memformat disk untuk proyek data besar. Jika ukuran disk cukup besar, saya perlu menggunakan partisi GUID Partition Table (GPT), jika tidak menggunakan partisi Master Boot Record (MBR). Masalahnya adalah saya tidak memiliki akses ke sistem dengan disk besar untuk menguji skrip ini.
Saya ingat bahwa Red Hat Enterprise Linux (RHEL) 7.5 dikirimkan dengan fitur baru yang disebut Virtual Disk Optimizer (VDO), yang mengaktifkan kompresi dan deduplikasi pada disk. Saya memutuskan untuk melihat apakah fitur baru ini akan membantu situasi saya. Bisakah saya mengambil disk kecil, katakanlah 10 GB, dan membuatnya terlihat seperti disk 10 TB ke OS?
Jelas, tidak ada teknologi kompresi yang memungkinkan saya benar-benar menyimpan 10TB pada disk 10GB, tetapi dalam kasus saya, saya hanya perlu mengemulasi disk 10TB secara logis. Apakah ini akan berhasil?
Mari kita lihat.
Contoh
Dalam contoh ini, saya menggunakan Red Hat Enterprise Linux 8.1 di bawah VirtualBox untuk menguji, tetapi prosedur ini harus bekerja dengan versi Linux apa pun yang menyertakan VDO. Untuk mencapai ini, saya:
- Menginstal
vdo
dankmod-vdo
paket:
[root@defiant ~]# yum install vdo kmod-kvdo
- Membuat disk 10 GB dan memasangnya ke VM saya:
[root@defiant ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 32G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 31G 0 part
├─rhel-root 253:0 0 27.8G 0 lvm /
└─rhel-swap 253:1 0 3.2G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sr0 11:0 1 1024M 0 rom
- Membuat volume VDO:
[root@defiant ~]# vdo create --name=vdo-disk --device=/dev/sdb --vdoLogicalSize=10T
Creating VDO vdo-disk
Starting VDO vdo-disk
Starting compression on VDO vdo-disk
VDO instance 0 volume is ready at /dev/mapper/vdo-disk
- Membuat partisi GPT:
[root@defiant ~]# parted /dev/mapper/vdo-disk mklabel gpt mkpart p1 xfs 1MB 10TB
Information: You may need to update /etc/fstab.
- Menampilkan hasil:
[root@defiant ~]# parted /dev/mapper/vdo-disk print
Model: Linux device-mapper (vdo) (dm)
Disk /dev/mapper/vdo-disk: 11.0TB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 10000GB 10000GB p1
- Membuat sistem file dan memasangnya:
[root@defiant ~]# mkdir /data
- Memformat disk (bagian ini mungkin akan memakan waktu lama):
[root@defiant ~]# mkfs.xfs /dev/mapper/vdo-disk1
meta-data=/dev/mapper/vdo-disk1 isize=512 agcount=10, agsize=268435455 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=2441405952, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
- Memasang disk:
[root@defiant ~]# mount /dev/mapper/vdo-disk1 /data
[root@defiant ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 395M 0 395M 0% /dev
tmpfs 411M 0 411M 0% /dev/shm
tmpfs 411M 5.7M 406M 2% /run
tmpfs 411M 0 411M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 28G 1.8G 27G 7% /
/dev/sda1 1014M 291M 724M 29% /boot
tmpfs 83M 0 83M 0% /run/user/1000
/dev/mapper/vdo-disk1 9.1T 65G 9.1T 1% /data
Jika Anda mengikuti, Anda sekarang telah meniru disk 10TB. Perhatikan bahwa, dengan overhead, ini hanya menampilkan 9,1 TB, tetapi Anda dapat bereksperimen dengan ukuran untuk mendapatkan ukuran yang Anda butuhkan. Jelas Anda tidak dapat menyimpan data dalam jumlah besar pada disk ini, tetapi untuk tujuan mengemulasi disk 10 TB secara logis, penyiapan ini berguna bagi saya.
Ingin mencoba Red Hat Enterprise Linux? Unduh sekarang secara gratis.