RHEL 8'deki Depolama Cihazında VDO Birimi Nasıl Oluşturulur


RHEL 7.5 ve sonrasında RedHat tarafından sunulan Sanal Tarih Optimize Edici'nin kısaltması olan VDO, aşağıdakileri sağlayan bir blok sanallaştırma teknolojisidir: satır içi tekilleştirme ve verilerin blok cihaz düzeyinde sıkıştırılması.

Tekilleştirme fikri oldukça basittir: yinelenen verilerin kopyalarını kaldırmak ve yalnızca tek bir kopyayla kalmak. Bir blok cihaza aynı dosya eklendiğinde, bu dosya kopya olarak işaretlenir ve bunun yerine orijinal dosyaya başvurulur. Bunu yaparken VDO, blok biriminin alanından tasarruf edilmesine yardımcı olur.

Bu eğitimde, RHEL 8 sistemindeki bir depolama cihazında VDO biriminin nasıl oluşturulacağını öğreneceksiniz.

Adım 1: VDO'yu RHEL 8'e yükleyin

Başlamak için sunucunuzda oturum açın ve dnf komutunu kullanarak RHEL'inizi güncelleyin.

sudo dnf update -y

Paketlerin ve çekirdeğin güncellenmesi tamamlandıktan sonra devam edin ve komutu kullanarak VDO çekirdek modüllerini ve bağımlılıklarını yükleyin.

sudo dnf install kmod-kvdo vdo
  • vdo – Bu, Sanal Veri Optimize Edici için bir Yönetim araçları setidir.
  • kmod-kvdo – Bu, Sanal Veri Optimize Edici için bir Çekirdek Modülleri grubudur.

Başarılı kurulumun ardından vdo arka plan programını başlatın, etkinleştirin ve doğrulayın.

sudo systemctl start vdo
sudo systemctl enable vdo
sudo systemctl status vdo

Adım 2: RHEL 8'de bir VDO Birimi oluşturun

vdo birimi oluşturmadan önce sisteminizde ek bir sabit sürücünüz olduğundan emin olun. Bu eğitimde ek bir birim xvdb ekledik. Bu, aşağıdaki lsblk komutunu çalıştırarak gösterilebilir.

lsblk

Çıktıdan ikinci diskin 100GB kapasiteye sahip olduğunu açıkça görebilirsiniz.

Şimdi /dev/xvdb diskinde boş bir VDO birimi oluşturacağız.

sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G

Gösterilen hatayla karşılaşacaksınız.

Bu yaygın bir hatadır ve geçici çözüm, sunucunuzu yeniden başlatmanızdır.

sudo reboot

İkinci denemede komut yürütülecek ve /dev/xvdb cihazında boş bir VDO birimi oluşturulacak.

sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G

Komutu parçalara ayıralım ve kullanılan seçeneğe bir göz atalım:

  • oluştur – Bu, VDO biriminin oluşturulmasını başlatır.
  • –name=vdo1 – Bu, birime vdo1 olarak bilinen bir etiket verir. İstediğiniz herhangi bir ismi atamaktan çekinmeyin.
  • –device=/dev/xvdb – Cihaz seçeneği, birimin oluşturulacağı diski belirtir.
  • –vdoLogicalSize=300G – Bu, işletim sistemi tarafından kullanılacak etkin birim kapasitesini (bu durumda 300G) gösterir.

3. Adım: Yeni VDO Birimini Araştırma

Yeni VDO birimi, önceki adımda gördüğümüz çıktıya göre /dev/mapper/vdo1 konumunda oluşturuldu. Dosya izinlerini ve sahipliğini araştırmak için ls komutunu gösterildiği gibi kullanabiliriz.

ls -l /dev/mapper/vdo1

Daha anlaşılır bilgiler elde etmek amacıyla, birimin boyutu ve kullanımına ilişkin istatistikleri almak üzere vdostats komutunu kullanın.

vdostats --hu

--hu bayrağı, bilgileri insan tarafından okunabilir bir biçimde, yani kolaylıkla okunması ve şifresinin çözülmesi çok daha kolay olan bir biçimde görüntüler. Cihaz adı, ek diskin boyutu, kullanılan ve kullanılabilir alan gibi özellikleri % kullanımı olarak görüntüleyebiliriz.

% Tasarrufunun Geçerli Değil (Geçerli Değil) olarak belirtildiğini dikkatlice gözlemleyin.

Ayrıca, halihazırda bir miktar 4.1G hacim kullanımımız olduğunu, bunun da %4 anlamına geldiğini ancak henüz hacim hakkında hiçbir şey yazmadığımızı unutmayın. Nedenmiş? Bunun nedeni evrensel veri tekilleştirmenin zaten diske yazılmış olmasıdır ve tekilleştirmeyi mümkün kılan da budur.

vdostats komutu, gösterildiği gibi daha ayrıntılı bilgi almak için --verbose bayrağıyla birlikte kullanılabilir:

sudo vdostats --verbose /dev/mapper/vdo1 | grep -B6 ‘saving percent’

Gördüğünüz şey temelde önceki örnekle aynı verilerdir ancak farklı bir formattadır.

Adım 4: VDO Birimini Bölümlendirme

Birimden yeterli içgörü elde ettikten sonra onu bölümlememiz ve daha sonra normal bir disk olarak kullanılabilmesi için bir dosya sistemi oluşturmamız gerekir.

Gösterildiği gibi bir fiziksel birim ve birim grubu oluşturalım, aşağıdaki komutları çalıştıralım.

sudo pvcreate /dev/mapper/vdo1
sudo vgcreate vdo1vg /dev/mapper/vdo1

Birim grubu çalıştırmasının istatistiklerini görüntülemek için:

sudo vgdisplay vdo1vg

Şimdi, her biri 50G kapasiteye sahip, eşit boyutlu 2 mantıksal birim oluşturacağız.

sudo lvcreate -n vdo1v01 -L 50G vdo1vg
sudo lvcreate -n vdo1v02 -L 50G vdo1vg

Daha sonra komutu çalıştırarak yeni oluşturulan birimlerin istatistiklerini görüntüleyebilirsiniz.

sudo lvs

Adım 4: Dosya Sistemlerini Biçimlendirme ve Bağlama

Genellikle bir dosya sistemi oluşturulduğunda cihazda bir kırpma işlemi gerçekleştirilir. VDO durumunda bu istenmeyen bir durumdur. mkfs komutunu kullanarak biçimlendirirken, komuta dosya sistemi oluşturma sırasında blokları atmaması talimatını vermek için -K seçeneğini kullanın.

sudo mkfs.xfs  -K /dev/vdo1vg/vdo1v01
sudo mkfs.xfs  -K /dev/vdo1vg/vdo1v02

EXT$ dosya sistemini kullanıyorsanız “-E nodiscard ” Seçeneğini kullanın.

Birimleri monte etmek için bağlama noktalarını oluşturun:

sudo mkdir /data/v01
sudo mkdir /data/v02

Şimdi dosya sistemlerini gösterildiği gibi bağlama noktalarına bağlayın.

sudo mount -o discard /dev/vdo1vg/vdo1v01  /data/v01
sudo mount -o discard /dev/vdo1vg/vdo1v02  /data/v02

Artık VDO hacmini incelediğinizde % tasarrufunun %99 olarak değiştiğini fark edeceksiniz ki bu oldukça etkileyici. Bu, veri tekilleştirmenin beklendiği gibi çalıştığı anlamına gelir.

sudo vdostats --hu

df -Th komutunu kullanarak daha fazla araştırma yapabilirsiniz. Alt kısımda sırasıyla /data/v01 ve /data/v02 üzerine monte edilmiş dosya sistemlerini göreceksiniz.

df -hT

Bu eğitimde, RHEL 8'de ek bir depolama cihazından nasıl VDO birimi oluşturabileceğinizi gösterdik. Daha sonra devam ettik ve nasıl daha fazla birim oluşturabileceğinizi ve bu birimlerden dosya sistemleri oluşturabileceğinizi gösterdik.