Bir diski çıkararak RAID küçültülüyor mu?


14

12 bölmeli bir Synology NAS'ım var. Başlangıçta, 12 diskin tümünü tek bir RAID-6 birimi için ayırmaya karar verdik, ancak şimdi yalnızca 10 disk kullanacak şekilde birimi küçültmek ve iki HDD'yi yedek olarak atamak istiyoruz.

Cilt Yöneticisi Sihirbazı kolayca Sabit diskler ilave ederek hacmini genişletmek, ama ben hiçbir yol bulduk sabit diskleri kaldırarak hacmini küçültmek . Tüm sistemi yeniden başlatmak zorunda kalmadan bunu nasıl yapabilirim?


Burada amaç nedir? Şu anda parite olarak iki disk kullanılıyor ve bu nedenle dizi iki hatayı tolere edebilir. İki yedek istiyorsanız, onları yakınlarda bırakabilir ve aynı toleransa sahip olabilirsiniz, ancak daha fazla disk alanına sahip olabilirsiniz.
Paul

Tabii, ama ofise gitmem, bir disk çıkarmam ve yeni bir disk takmam gerekiyor. Yedek olması bunu uzaktan yapmanıza izin verir.
Pierre Arnaud

Synology'nizde MDADM yerleşikse var mı?
Paul

Evet, mdadm aracına erişiyorum.
Pierre Arnaud

Yanıtlar:


20

Bunun için dizide 12 disk olduğunu ve her birinin 1 TB büyük olduğunu varsayacağım.

Bu, 10 TB depolama alanı olduğu anlamına gelir. Örneğin, 6 diskten (6 TB) fazla depolama alanı kullanmamanız şartıyla, bunların ne büyüklükte oldukları önemli değildir.

Yükümlülük reddi: Bunların hiçbiri Synology tarafından desteklenmeyebilir, bu nedenle bu yaklaşımın sorunlara neden olup olmayacağını, önceden yedeklenebileceğini ve herhangi bir synology hizmetini önceden kapatabileceğini kontrol ederim. Synology bildiğim kadarıyla standart md raid dizilerini kullanır ve disk md'yi destekleyen standart bir sunucuya taşınırsa erişilebilirdir - bu nedenle sorun olmamalıdır .

genel bakış

Dizi şu şekilde gider:

  1. Dosya sistemi boyutunu küçültme
  2. Mantıksal ses boyutunu küçültme
  3. Dizi boyutunu küçültme
  4. Dosya sistemini yeniden boyutlandırın
  5. Yedek diskleri etkin yedeklere dönüştürün

Dosya sistemi

Ana bölümü bulun, kullanarak df -h, şöyle görünmelidir:

Filesystem                Size      Used Available Use% Mounted on
/dev/vg1/volume_1         10T       5T   5T         50% /volume1

İhtiyacı olan maksimum değere yeniden boyutlandırmak için artık bu komutu kullanın:

umount /dev/vg1/volume_1
resize2fs -M /dev/vg1/volume_1

Şimdi kontrol et:

mount /dev/vg1/volume_1 /volume1
df -h

Filesystem                Size      Used Available Use% Mounted on
/dev/vg1/volume_1         5T       5T    0T        100% /volume1

Ses

Ses boyutunu azaltmak için lvreduce kullanın (her ihtimale karşı biraz daha büyük yapın):

umount /dev/vg1/volume_1
lvreduce -L 5.2T /dev/vg1/volume_1

Artık mantıksal hacim azaldığına göre, fiziksel hacim boyutunu azaltmak için pvresize komutunu kullanın:

pvresize --setphysicalvolumesize 5.3T /dev/md0

Yeniden boyutlandırma başarısız olursa, fiziksel birimin sonunda ayrılan veri bölümlerini başlangıca taşımak için bu diğer soruya bakın .

Şimdi 10T'lık bir dizide 5.3T'lık bir hacme sahibiz, böylece dizi boyutunu güvenli bir şekilde 2T azaltabiliriz.

Dizi

MD cihazını bulun:

 pvdisplay -C
 PV         VG      Fmt  Attr PSize   PFree
 /dev/md0   vg1     lvm2 a--  5.3t    0.1t

İlk adım mdadm'a dizi boyutunu küçültmesini söylemektir (grow ile):

mdadm --grow -n10 /dev/md0
mdadm: this change will reduce the size of the array.
       use --grow --array-size first to truncate array.
       e.g. mdadm --grow /dev/md0 --array-size 9683819520

Bu, geçerli diziyi 10 diske sığdırmak için dizi boyutunu azaltmamız gerektiğini söylüyor.

 mdadm --grow /dev/md0 --array-size 9683819520

Artık daha küçük, disk sayısını azaltabiliriz:

 mdadm --grow -n10 /dev/md0 --backup-file /root/mdadm.md0.backup

Bu uzun bir zaman alacaktır ve buradan izlenebilir:

 cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[1] sdj4[1] 
      [>....................]  reshape =  1.8% (9186496/484190976)
                              finish=821.3min speed=9638K/sec [UUUUUUUUUU__]

Ama beklememiz gerekmiyor.

PV, LV ve dosya sistemini maksimuma getirin:

pvresize /dev/md0
lvextend -l 100%FREE /dev/vg1/volume_1
e2fsck -f /dev/vg1/volume_1
resize2fs /dev/vg1/volume_1

Yedek diskleri yedek olarak ayarla

Burada yapacak bir şey yok, bir dizideki tüm yedek diskler otomatik olarak yedeklenir. Yeniden şekillendirmeniz tamamlandığında durumu kontrol edin:

cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[S] sdj4[S] 

Bu ayrıntılı talimatlar için çok teşekkürler. Bir HDD'yi değiştirdikten sonra RAID dizimin yeniden oluşturulmasını bitirmesini bekleyeceğim (toplam kapasite: 17.86 TB, biraz zaman alıyor).
Pierre Arnaud

Ayrıca mdadm hile sayfasına da göz atın ( ducea.com/2009/03/08/mdadm-cheat-sheet ).
Pierre Arnaud

@Paul - superuser.com/questions/1274328/… kullanıcıya yardımcı olup olamayacağınızı belirledikten sonra bu yorumu kaldırmak için işaretleyin
Ramhound

Dikkat! Sanırım bu cevap veri kaybına yol açabilir: lvm lv'nin gerçekten de pv'nin başında olduğuna dair bir kontrol yoktur! (lvm ile garanti edilmez). Bkz unix.stackexchange.com/questions/67702/... (ve unix.stackexchange.com/questions/67702/... PV sonunu sağlamak için bir yol hatası durumunda) olduğunu oturtma üzere serbest.
Ekleog

@Ekleog Teşekkürler, bu yorum cevapsız olması durumunda cevabın bir parçası olarak daha iyi yerleştirilir
Paul
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.