GNU/Linux >> Tutoriels Linux >  >> Linux

Émulation de gros disques sous Linux avec VDO

Il y a quelque temps. J'avais besoin d'écrire un script qui partitionnerait et formaterait des disques pour un projet Big Data. Si la taille du disque était suffisamment grande, je devais utiliser une partition de table de partition GUID (GPT), sinon utiliser une partition Master Boot Record (MBR). Le problème était que je n'avais pas accès à des systèmes avec de gros disques pour tester ce script.

Je me suis souvenu que Red Hat Enterprise Linux (RHEL) 7.5 était livré avec une nouvelle fonctionnalité appelée Virtual Disk Optimizer (VDO), qui permettait la compression et la déduplication sur disque. J'ai décidé de voir si cette nouvelle fonctionnalité aiderait ma situation. Puis-je prendre un petit disque, disons 10 Go, et le faire ressembler à un disque de 10 To pour le système d'exploitation ?

Évidemment, aucune technologie de compression ne me permettrait réellement de stocker 10 To sur un disque de 10 Go, mais dans mon cas, j'avais juste besoin d'émuler logiquement un disque de 10 To. Est-ce que ça marcherait ?

Voyons.

Exemple

Dans cet exemple, j'utilise Red Hat Enterprise Linux 8.1 sous VirtualBox pour tester, mais cette procédure devrait fonctionner avec n'importe quelle version de Linux qui inclut VDO. Pour ce faire, j'ai :

  1. Installé le vdo et kmod-vdo forfaits :
[root@defiant ~]# yum install vdo kmod-kvdo
  1. J'ai créé un disque de 10 Go et l'ai associé à ma VM :
[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. Création du 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. Création d'une partition GPT :
[root@defiant ~]# parted /dev/mapper/vdo-disk mklabel gpt mkpart p1 xfs 1MB 10TB
Information: You may need to update /etc/fstab.
  1. Affiché les résultats :
[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. A créé un système de fichiers et l'a monté :
[root@defiant ~]# mkdir /data
  1. Formaté le disque (cette partie prendra probablement beaucoup de temps) :
[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. Montez le disque :
[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

Si vous avez suivi, vous avez maintenant émulé un disque de 10 To. Notez que, avec les frais généraux, il n'affiche que 9,1 To, mais vous pouvez expérimenter avec des tailles pour obtenir la taille dont vous avez besoin. Évidemment, vous ne pouvez pas réellement stocker de grandes quantités de données sur ce disque, mais dans le but d'émuler logiquement un disque de 10 To, cette configuration m'a été utile.

Vous voulez essayer Red Hat Enterprise Linux ? Télécharge le maintenant gratuitement.


Linux
  1. Vérifiez l'espace disque utilisé sur Linux avec du

  2. Comment partitionner un disque sous Linux

  3. Commande Linux DD - 15 exemples avec toutes les options

  4. Comment trouver des fichiers volumineux Linux avec les commandes find et du

  5. Linux - Rend la copie de disque/disque plus lente ?

Comment créer des partitions de disque avec Parted Command sous Linux

Comment cloner des disques avec la commande Linux dd

Comment afficher l'utilisation du disque avec Duf sous Linux et Unix

Créer et gérer des partitions de disque avec Parted sous Linux

Parted Magic Disk Partitioning Live CD Mis à jour avec Linux 4.11.4, ZFS sous Linux

WSL2 peut désormais monter directement des disques Linux ext4