LVM (Logical Volume Manager) Linux tabanlı işletim sistemleri için hazırlanmış mantıksal hacim yöneticisidir. LVM hakkında daha detaylı bilgi için şu makalemden faydalanabilirsiniz. Bu makale de ise LVM hakkında teorik bilgiden ziyade pratik bilgiler paylaşılacaktır. VMware ESXI üzerinde kurulu olan sanal linux tabanlı bir sistem üzerinde online olarak disk boyutu genişletme işlemi yapılacaktır.

Ön Bilgiler;

-İşlemler VMware ESXI 5.5 hypervisor üzerinde CentOS 7 işletim sisteminde gerçekleştirilecektir.
-CentOS işletim sistemi diski LVM yapısında ve 20GB’a sahip olup online olarak 30GB’a yükseltilecektir.
-Bu işlemi yapabilmeniz için işlemi uygulayacağınız diskinizde en fazla 3 bölüm(partition) oluşturulmuş olması gerekmektedir.
-Belirtilen işlemleri gerçekleştirmeden önce kesinlikle sanal makinenizin snapshot’ ını almanız önerilir.

[stextbox id=”info”]Disk arttırımını online olarak gerçekleştirmek istiyorsanız “Sanal Makine Disk Boyutunu Arttırmak” adımından sonra snapshot almanız gerekmektedir. Çünkü VMware ESXI snapshot’u bulunan bir makinenin diskini online olarak değiştirmeye izin vermemektedir.[/stextbox]

 

Sistem Disk Yapısı Hakkında Bilgiler;

-Mevcut sistemin disk yapısını bu işleme uygunluğu açısından kontrol ediniz.

[[email protected] ~]# fdisk -l
[kısaltıldı]
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Device    Boot      Start       End          Blocks      Id  System
/dev/sda1   *       2048      1026047       512000      83    Linux
/dev/sda2           1026048   21463039    10218496  8e  Linux LVM
/dev/sda3           21463040  41943039    10240000  8e  Linux LVM
Disk /dev/mapper/vg_system-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/mapper/vg_system-root: 8313 MB, 8313110528 bytes, 16236544 sectors
Disk /dev/mapper/vg_data-data: 10.5 GB, 10481565696 bytes, 20471808 sectors
[..]

Yukarıda ki “fdisk” çıktısında görüldüğü üzere, sda diski 21.5GB ve 3 bölüme ayrılmış. /boot, / (kök dizin) ve /data dizini. / (kök dizin) ve /data dizini ID numaralarından görüldüğü üzere 8e yani LVM yapısında oluşturulmuş. Bu durumda bu bölümlerden istediğinizi genişletebilirsiniz.

-Boyutunu arttırmak istediğiniz dosya sistemini belirleyiniz. Bu yazıda “/dev/mapper/vg_data-data” boyutu arttırılacaktır. Disk genişletme işlemini / (kök dizin) için yapmak istiyorsanız, işlemlere aynı şekilde devam edip “/dev/mapper/vg_data-data” yerine “/dev/mapper/vg_system-root” kullanınız.

[[email protected] ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_system-root  7.8G  6.8G  955M  88% /
devtmpfs                    915M     0  915M   0% /dev
tmpfs                       921M     0  921M   0% /dev/shm
tmpfs                       921M  8.5M  913M   1% /run
tmpfs                       921M     0  921M   0% /sys/fs/cgroup
/dev/mapper/vg_data-data    9.8G  7.1G  2.8G  73% /data
/dev/sda1                   497M   96M  401M  20% /boot

 

Sanal Makine Disk Boyutunu Arttırmak;

-Sanal makinenizin ayarlar bölümünden harddisk’i seçiniz ve “Provisioned Size” bölümünü arttırınız. (Mevcut sistemde 20GB olan disk alanı 30GB ‘a yükseltildi.) Eğer bu alanda arttırım yapamıyorsanız bu sanal makinenizin bir clonu olmasından kaynaklanabilir. Bu clonu silerek disk arttırımı yapabilir veya clonu silmek istemiyorsanız, sanal makinenizi kapatarak disk arttırımını yapınız ve yeniden başlatınız.

LVM Disk Expanding

 

Eklenilen Disk Alanının Sistem Tarafından Algılanması;

-Eklediğiniz disk alanının sistem tarafından algılanabilmesi için scsi bus’ları yeniden taratınız. (2\:0\:0\:0/ olan yol sisteminizde farklılık gösterebilir.)

[[email protected] ~]# echo '1' > /sys/class/scsi_disk/2\:0\:0\:0/device/rescan

veya

echo "- - -" > /sys/class/scsi_host/host0/scan

-Eklediğiniz disk alanının sistem tarafından algılanıp algılanmadığını kontrol ediniz. Aşağıdaki çıktıda görüldüğü üzere 21.5GB olan sda diski 32.2GB ‘a yükselmiş.

[[email protected] ~]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Device    Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    21463039    10218496   8e  Linux LVM
/dev/sda3        21463040    41943039    10240000   8e  Linux LVM
Disk /dev/mapper/vg_system-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/mapper/vg_system-root: 8313 MB, 8313110528 bytes, 16236544 sectors
Disk /dev/mapper/vg_data-data: 10.5 GB, 10481565696 bytes, 20471808 sectors

 

Yeni Disk Alanının Kullanılabilir Hale Getirilmesi;

-“fdisk” aracı ile yeni disk alanını kullanılabilir hale getiriniz.

[[email protected] ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n [Yeni bir partition oluşturmak için n 'ye basınız.]

Partition type:
 p primary (3 primary, 0 extended, 1 free)
 e extended
Select (default e): p [Bölüm tipini "primary" olarak belirlemek için p'ye basınız.]

Selected partition 4 [Mevcut sistemde 1 adet boş bölüm kaldığı için 4. bölüm default olarak seçildi.]
First sector (41943040-62914559, default 41943040): [Başlangıç sector'u default belirlemek için Enter'a basınız.]
Using default value 41943040
Last sector, +sectors or +size{K,M,G} (41943040-62914559, default 62914559):[Bitiş sector'u default belirlemek için Enter'a basınız.]
Using default value 62914559
Partition 4 of type Linux and of size 10 GiB is set 

Command (m for help): t [Bölüm tipini belirlemek için t'ye basınız.]

Partition number (1-4, default 4): 4 [Tipini belirlemek istediğiniz bölüm numarasını yazınız.]

Hex code (type L to list all codes): 8e [LVM hex kodu 8e olduğu için 8e yazınız.]
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): w [Kaydedip çıkmak için w 'ye basınız.]
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

 

Mantıksal Hacmin Arttırılması (LVM Disk Boyutunun Arttırılması) ;

-Fiziksel hacmi (physical volume) oluşturunuz.

[[email protected] ~]# pvcreate /dev/sda4
Physical volume /dev/sda4 not found
Device /dev/sda4 not found (or ignored by filtering).

-Yukarıda ki gibi hata alırsanız “partprobe” ile disk bölümlerini yeniden taratınız. Hata almazsanız komut çıktısı bir sonraki adımda ki gibi olmalıdır.

[[email protected] ~]# partprobe
/dev/sda: msdos partitions 1 2 3 4

-Yeniden fiziksel hacmi oluşturmayı deneyiniz.

[[email protected] ~]# pvcreate /dev/sda4
Physical volume "/dev/sda4" successfully created

-Bir sonraki adımda ihtiyaç olacağı için genişletmek istediğiniz hacim grubunuzun adını görüntüleyiniz.

[[email protected] ~]# vgdisplay
[kısaltıldı]
 --- Volume group ---
 VG Name                           vg_data
--- Volume group ---
VG Name                           vg_system
[...]

-“vgextend” ile hacim grubunu genişletiniz.

[[email protected] ~]# vgextend vg_data /dev/sda4
Volume group "vg_data" successfully extended

-Yapılan işlemleri kontrol etmek için sisteminizin fiziksel hacim durumunu kontrol ediniz. (Aşağıda yeni eklenen sda4 10GB boş olanı görebilirsiniz.)

[[email protected] ~]# pvscan
PV /dev/sda3   VG vg_data     lvm2 [9.76 GiB / 0    free]
PV /dev/sda4   VG vg_data     lvm2 [10.00 GiB / 10.00 GiB free]
PV /dev/sda2   VG vg_system   lvm2 [9.74 GiB / 0    free]
Total: 3 [29.50 GiB] / in use: 3 [29.50 GiB] / in no VG: 0 [0   ]

-Bir sonraki adımda ihtiyaç olacağı için mantıksal hacim grubunuzun adını görüntüleyiniz.

[[email protected] ~]# lvdisplay
[kısaltıldı]
--- Logical volume ---
LV Path                /dev/vg_data/data
LV Name                data
VG Name                vg_data
--- Logical volume ---
LV Path                /dev/vg_system/root
LV Name                root
VG Name                vg_system
--- Logical volume ---
LV Path                /dev/vg_system/swap
LV Name                swap
VG Name                vg_system
[...]

-“lvextend” komutu ile mantıksal hacmi genişletiniz.

[[email protected] ~]# lvextend /dev/vg_data/data /dev/sda4
Extending logical volume data to 19.76 GiB
Logical volume data successfully resized

-Dosya sisteminizi boyutlandırmadan önce dosya sistem tipini kontrol ediniz. (Aşağıda görüldüğü üzere dosya sistemi “xfs” şeklindedir.)

[[email protected] ~]# df -hT
Filesystem                  Type	Size  Used Avail Use% Mounted on
/dev/mapper/vg_system-root  xfs 	7.8G  6.9G  955M  88% /
devtmpfs                    devtmpfs	915M     0  915M   0% /dev
/dev/mapper/vg_data-data    xfs		20G  7.1G   13G  36% /data
/dev/sda1                   xfs		497M   96M  401M  20% /boot

-Dosya sistemi “xfs” olduğu için yeniden boyutlandırma işlemini  “xfs_growfs” aracı ile yapabilirsiniz.

[[email protected] ~]# xfs_growfs /dev/vg_data/data
meta-data=/dev/mapper/vg_data-data isize=256    agcount=4, agsize=639744 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=2558976, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 2558976 to 5179392

-Dosya sisteminiz ext2, ext3 veya ext4 ise  “resize2fs” aracı ile yeniden boyutlandırabilirsiniz.

[[email protected] ~]# resize2fs /dev/vg_data/data

-Son olarak sistem disklerinizi kontrol ederek işlemin doğruluğunu teyid ediniz.

[[email protected] ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_system-root  7.8G  6.9G  955M  88% /
devtmpfs                    915M     0  915M   0% /dev
tmpfs                       921M     0  921M   0% /dev/shm
tmpfs                       921M  8.5M  913M   1% /run
tmpfs                       921M     0  921M   0% /sys/fs/cgroup
/dev/mapper/vg_data-data     20G  7.1G   13G  36% /data
/dev/sda1                   497M   96M  401M  20% /boot

-Genişletme işleminden önceki disk kullanım durumu;

[[email protected] ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_system-root  7.8G  6.8G  955M  88% /
devtmpfs                    915M     0  915M   0% /dev
tmpfs                       921M     0  921M   0% /dev/shm
tmpfs                       921M  8.5M  913M   1% /run
tmpfs                       921M     0  921M   0% /sys/fs/cgroup
/dev/mapper/vg_data-data    9.8G  7.1G  2.8G  73% /data
/dev/sda1                   497M   96M  401M  20% /boot

 

Özet;

Sanal Linux sistemlerde disk arttırma işlemi için bu makalede mevcut vmdk dosyasının boyutu 10GB arttırıldı. Ardından,

-“fdisk” ile bu alan kullanılabilir hale getirildi.
-“pvcreate” ile fiziksel hacim oluşturuldu.
-“vgextend” ile hacim grubu genişletildi.
-“lvextend” ile mantıksal hacim genişletildi.
-“xfs_growfs” , “resize2fs” araçları ile dosya sistemi yeniden boyutlandırıldı.

 

[Kaynak]
http://www.rootusers.com/how-to-increase-the-size-of-a-linux-lvm-by-expanding-the-virtual-machine-disk/

One Thought on “Linux LVM Disk Boyutunu Genişletmek

  1. Fatih KOÇ 22 Eylül 2017 11:23 tarihinde yorum yaptı:

    Yayımladığınız makale için çok teşekkürler.
    İşlerimde yardımcı oldu.

    Çalışmalarınızda ve bir sonraki makalelerinizde başarılar dilerim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation