Benzer bir soruyu 2 yıl önce sordum .
Ancak benim durumumda, raid0'a sadece tek bir cihaz kopyalamayı planlıyordum.
Sonunda bir çözüm buldum . O zaman raid0'dan raid10'a dönüşemediniz, ancak çekirdek 3.3'ten beri şimdi yapabilirsiniz. Böylece bu çözüm sizin için işe yarayabilir.
Bu yaklaşımla ilgili bir sorun, fsuidi kopyalamasıdır. Bu, hem FS'yi hem de kopyasını aynı makineye monte edemeyeceğiniz anlamına gelir. O zaman, fsuidbir FS'nin değiştirilmesi için bir araç yoktu , ama şimdi değişmiş olabilir.
Fikir, yazılabilmesi için orijinal cihazın üstüne bir üzerine yazılır kopyalama katmanı eklemektir, ancak herhangi bir değişiklik daha sonra atabileceğiniz başka bir yerde yapılır. Bu, ek depolama alanına ihtiyacınız olduğu anlamına gelir (örneğin harici bir sürücüde).
Ardından, orijinal yerine bu COW'd FS'yi takın, FS kopyası için aygıtları ekleyin ve COW aygıtını çıkarın.
Yazarken kopyalama için aygıt eşleştiriciyi kullanabilirsiniz.
Yazma alanındaki tek kullanımlık kopya için burada bir döngü cihazı kullanıyorum.
En klonlamak istediğiniz diyelim /dev/sdaüzerine /dev/sd[bcde]:
COW arka mağazasını oluşturun:
truncate -s 100G /media/STORE/snap-store
losetup /dev/loop0 /media/STORE/snap-store
Şimdi monte edilmişse FS kaynağını sökün modprobe -r btrfsve cihazın karışmayacağından emin olmayacağından emin olun.
Ardından COW'd cihazını yapın:
echo "echo 0 $(blockdev --getsize /dev/sda) snapshot /dev/sda /dev/loop0 N 8 | dmsetup create cowed
Şimdi /dev/mapper/cowed, /dev/sdaona yazılan her şeyin sonuçlanacak /dev/loop0ve /dev/sdadokunulmayacağı dışında.
Şimdi monte edebilirsiniz:
mount /dev/mapper/cowed /mnt
Diğer cihazları ekleyin:
btrfs dev add /dev/sd[bcde] /mnt
Ve eskisini kaldırın:
btrfs dev del /dev/mapper/cowed /mnt
Bittiğinde /dev/sda, diğerleriyle aynı fsuid olduğu için btrfshala kapatıp kapatabilir veya fişini çekebilir veya okuyabilirsiniz .
Şimdi, doğru anlarsam, son btrfs-prog'a sahip olduğunuzu varsayarsak, aşağıdakileri yapabilmeniz gerekir:
btrfs balance start -d convert=raid10 /mnt
Baskın'a dönüştürmek için 10. Teorik olarak, bu her veri yığınının en az 2 disk üzerine kopyalandığından emin olmalıdır.
Kesinlikle bellekte olan her şeyden önce döngü cihazlarda bir kukla btrfs üzerinde test yapmanızı ve yanlış aldım (örneğin benim düzenlemeden önce ilk cevap bakın) tavsiye ederim.
Çekirdek 3.6'dan bu yana, btrfs'nin zfs'deki gibi bir gönderme / alma uyguladığını unutmayın. Bu sizin için bir seçenek olabilir.