Canlı Verinin Aktığı Disk Alanını Genişletme (LVM Extend Desteklenmediği Durumlar için)

in #utopian-io7 years ago (edited)

Ne Öğreneceğim

  • Linux işletim sisteminde disk ekleme, dosya tipi yapılandırması, mount-umount işlemleri, /etc/fstab klasörünün güncellenmesi
  • Bir dizini ve dizinin içindeki tüm veriyi, içindeki yetkilendirmeleri değişmeden, genişletilmiş diğer diske aktarımı.

Gereklilikler

  • Linux işletim sistemi

Zorluk Derecesi

  • Orta Düzey

Eğitim İçeriği

Linux Uzerinde çalışan bazı programlar (örn: Qradar gibi bazı SIEM ürünleri) LVM Extend fasilitesini desteklememektedir. Burada disk artırımı için sistem yeniden kurulması yerine daha kısa işlem gerektirecek bir yöntem daha denenebilir. Bu yöntemi anlatmaya çalışacağım.

Çalışan bir sistemde yapısal değişiklik yapmadan önce yapılması gerekenleri yapıp gemimizi sağlam kjazığa bağlamış olalım. bunun için öncelikle:

  • Geri dönüş ve kurtarma planı için ilgili sistemin configuration ve data backup’lari alınır. Hangi version ve hangi patch’lerin yuklu olduğu bilgileri kaydedilir.
  • Sanal makine ise hızlı ve sağlıklı dönüş için çalışma öncesi clone alınması iyi olacaktır. Disk ekleme ve verileri başka diske mount etme işlemi olduğu için snapshot yerine clone tercih edilmesi uygun olacaktır. snapshot sadece diskteki değişiklikleri (delta file) kaydetmektedir. Biz yeni disk ekleyip verileri oraya kaydedeceğiz.
  • Clone izole ortama alınıp clone üzerinde çalışılması daha uygun olacaktır.

Çalışmamıza geçecek olursak:
Amacımız: Ariel database’inin bulunduğu ve canlı verilerin aktığı /store dizinini,içindeki verilere bir şey olmadan bulunduğu küçük boyutlu /dev/sda1 diskinden unmount ederek yeni eklediğimiz /dev/sdb1 dizinine mount etmek.

ADIMLAR

1-) Test ortamı için linux makine canlandırılması: 1gb ram, 2core cpu, 20gb disk boyutu, redhat 5.7 işletim sistemine sahip bir sunucunun oluşturulması. Canlı sistemdeki gibi /store, /store/tmp ve /store/transient dizinlerinin farklı dosya sistemi ve farklı disklere mount edilecek şekilde oluşturulması.
image.png

image.png

image.png

2-) Bu adımda /store , /store/transient ve /store/tmp dizinlerini farklı disklere mount ediyoruz. (bu adımları disk artırma işlemini yapacağımız sistemin başlangıç (initial) haline gelebilmek için yaptık. O yüzden bu adımdaki işlem detaylarını kafa karıştırmaması açısından dökümana eklemiyorum. Detay isterseniz komutları sorabilirsiniz)

Sistemimizin son hali : (başlangıç hali de diyebiliriz. Disk artırımına bu yapidaki bir sistemde başlayacağız)

image.png

image.png

Evet mevcut durumda taşınacak 3 hassas verimiz var.
/store >>> /dev/sdb1 diski üzerinde
/store/tmp >>> /dev/sdb2 üzerinde
/store/transient >>> /dev/sdb3 üzerinde

3-) Yeni Disk Ekleme
Evet, asıl işleme geldik.
Vmware üzerinden sanal makinemize scsi disk ekliyoruz. Yeni diski görebilmek için “partprobe” komutunu çalıştırmak yada sistemi reboot etmek gerekir. Bu işlemlerden sonra fdisk -l komutunu çalıştırırsak:

image.png

Henüz bir dosya tipine dönüştürülmemiş ve bir yere mound edilmemiş /dev/sdc diskimizi görüyoruz. Bu diski 3 parçaya böleceğiz.
/fdisk /dev/sdc komutuyla işleme başlayabiliriz.

Burdaki seçeneklerden “n” parametresiyle yeni partition eklemeyi seçeriz. “p” primary seçtikten ve partition numarası verdikten sonra boyutunu belirterek yeni bir partition oluşturabiliriz. Bunu işlemi 3 defa tekrarladığımızda diskimizi /dev/sdc1 /dev/sdc2 ve /dev/sdc3 şeklinde 3e bölmüş oluruz.

Böldüğümüz bu diski belirli bir dosya tipine(ext2, ext3,ext4,xfs vb) formatlamamız gerekli.
mkfs.ext3 /dev/sdb1
mkfs.ext3 /dev/sdb2
mkfs.ext3 /dev/sdb3

Komutlarıyla 3 ayrı yeni diskimizi oluşturmuş olduk.

Şimdi sıra geldi canlı verimizi buraya taşımaya. Burada dikkat etmemiz gereken nokta:
1-) Taşıma esnasında uygulamanın servislerini durdurmak.
2-) Yeni alana cp değil mv (yada rsync) komutuyla taşımak. Bunun nedeni mv ile dosya haklarının da aynı şekilde aktarılıyor olması.
3-) Verileri taşıdıktan sonra vi /etc/fstab dosyasında kayıtları girmek. Böylece sistem reboot olduğunda yaptığımız ayarlar silinmeyecektir.

  • cd /
  • mkdir /store2
  • mkdir /store2/tmp
  • mkdir /store2/transient
  • mount /dev/sdc1 /store2
  • mount /dev/sdc1 /store2/tmp
  • mount /dev/sdc1 /store2/tmp/transient
    klasörlerimizi oluşturduk ve mount ettik.
  • mv /store/tmp/* /store2/tmp
  • mv /store/transient/* /store2/transient
  • mv /store/* /store2
    verilerimizi /dev/sdc diskine taşımış olduk.

şimdi

  • vi /etc/fstab
    bu dosyayı editleyerek aşağıdaki hale getiriyoruz:

image.png

  • mount -a
    bu komut diskleri tek tek mount etmek yerine fstab dosyasına göre hepsini mount eder. (Linux sistemlere reboot olurken de mount -a komutu çalışır. bu yüzden fstaba kaydolmamış mount işlemleri reboottan sonra kaybolur.)

eğer mount -a komutunda hata alırsanız reboot deneyebilirsiniz.

işlem sonunda son durum:

image.png

Test için attığımız verilerin de başarılı bi şekilde, dosya yetkilendirmeleri değişmeden aktarılmış olduğunu görüyoruz:

image.png

Uygulamanın servislerini tekrar çalıştırabiliriz. Artırılmış diskinizi uzun süre kullanmanız dileğiyle.



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

@ahka, Like your contribution, upvote.

Thank you :)

Thank you for the contribution. It has been approved.

  • Change to Github repository torvalds/linux

You can contact us on Discord.
[utopian-moderator]

it has been changed. Thank You.

Hey @ahka I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x