GNU/Linux >> Belajar Linux >  >> Linux

Meniru disk besar di Linux dengan VDO

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:

  1. Menginstal vdo dan kmod-vdo paket:
[root@defiant ~]# yum install vdo kmod-kvdo
  1. 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  
  1. 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
  1. 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.
  1. 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
  1. Membuat sistem file dan memasangnya:
[root@defiant ~]# mkdir /data
  1. 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
  1. 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.


Linux
  1. Periksa ruang disk yang digunakan di Linux dengan du

  2. Cara mempartisi disk di Linux

  3. Perintah DD Linux - 15 Contoh dengan Semua Opsi

  1. Siapkan disk data di Server Cloud Linux

  2. Pemulihan Windows Spanned Disks (LDM) dengan Linux?

  3. Bagaimana cara mendapatkan jumlah disk fisik di Linux?

  1. Cara Menemukan file besar linux dengan perintah find dan du

  2. Linux – Membuat Penyalinan Disk/disk Lebih Lambat?

  3. Kelola disk dengan DiskPart