GNU/Linux >> Znalost Linux >  >> Linux

Emulace velkých disků v Linuxu pomocí VDO

Před nějakým časem. Potřeboval jsem napsat skript, který by rozděloval a formátoval disky pro velký datový projekt. Pokud byla velikost disku dostatečně velká, potřeboval jsem použít oddíl GUID Partition Table (GPT), jinak použít oddíl Master Boot Record (MBR). Problém byl v tom, že jsem neměl přístup k systémům s velkými disky, abych mohl tento skript otestovat.

Vzpomněl jsem si, že Red Hat Enterprise Linux (RHEL) 7.5 byl dodáván s novou funkcí nazvanou Virtual Disk Optimizer (VDO), která umožňovala kompresi a deduplikaci na disku. Rozhodl jsem se zjistit, zda tato nová funkce pomůže mé situaci. Mohl bych vzít malý disk, řekněme 10 GB, a nastavit, aby OS vypadal jako 10TB disk?

Je zřejmé, že žádná kompresní technologie by mi neumožnila uložit 10 TB na 10 GB disk, ale v mém případě jsem potřeboval logicky emulovat 10 TB disk. Fungovalo by to?

Uvidíme.

Příklad

V tomto příkladu používám k testování Red Hat Enterprise Linux 8.1 pod VirtualBoxem, ale tento postup by měl fungovat s jakoukoli verzí Linuxu, která obsahuje VDO. Abych toho dosáhl, já:

  1. Nainstalovali jste vdo a kmod-vdo balíčky:
[root@defiant ~]# yum install vdo kmod-kvdo
  1. Vytvořil jsem 10GB disk a připojil jej k mému virtuálnímu počítači:
[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. Vytvořil svazek 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. Vytvořen oddíl GPT:
[root@defiant ~]# parted /dev/mapper/vdo-disk mklabel gpt mkpart p1 xfs 1MB 10TB
Information: You may need to update /etc/fstab.
  1. Zobrazil výsledky:
[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. Vytvořil souborový systém a připojil jej:
[root@defiant ~]# mkdir /data
  1. Formátování disku (tato část bude pravděpodobně trvat dlouho):
[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. Připojili jste 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

Pokud jste postupovali, nyní jste emulovali 10TB disk. Všimněte si, že s režií ukazuje pouze 9,1 TB, ale můžete experimentovat s velikostmi, abyste získali velikost, kterou potřebujete. Je zřejmé, že na tento disk ve skutečnosti nemůžete ukládat velké množství dat, ale pro účely logické emulace 10TB disku se mi toto nastavení hodilo.

Chcete vyzkoušet Red Hat Enterprise Linux? Stáhněte si ji nyní zdarma.


Linux
  1. Zkontrolujte použité místo na disku v systému Linux pomocí du

  2. Jak rozdělit disk v Linuxu

  3. Příkaz Linux DD – 15 příkladů se všemi možnostmi

  1. Linux – Zpomalit kopírování disku/disku?

  2. Spravujte disky pomocí DiskPart

  3. Rozšiřte pole Linux MD RAID 10, abyste mohli používat větší disky

  1. Jak najít velké soubory linux pomocí příkazů find a du

  2. Připravte datové disky na cloudových serverech Linux

  3. Obnova Windows Spanned Disks (LDM) s Linuxem?