Windows yazılım RAID 0'a nasıl düzgün erişebilirim?


12

Yeni bir kurulumla yeni bir Ubuntu kullanıcısıyım ve kullanmaya başlamak için sabırsızlanıyorum. Ancak, tüm önemli verilerim Windows yazılımı RAID 0 dizisi üzerinde ve ben de çift önyükleme Windows olduğum için orada kalmak gerekir. Ubuntu'daki bu verilere erişmem gerekiyor ve erişim olana kadar gerçekten gerçek bir şey yapamıyorum.

Bu konuyu olabildiğince iyi araştırdım ve çok yararlı bir yazı bulmayı başardım:

Gönderi, Ubuntu'nun iki sürücüden oluşan bir Windows RAID 0 dizisini nasıl göreceğini açıklar. Kullanılan ana komut sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2. Bu kullanıcıya ve konudaki diğer posterlere göre, aslında işe yarıyor. Bu harika.

Bu talimatları henüz takip etmedim. Neden? Gönderi, yanlış yığın boyutu girerseniz nasıl yazmamanız gerektiğine dair bir uyarı içerir; bunun nasıl sorunlara yol açabileceği anlaşılabilir. Benim endişem, kurulumumun örneklerinden farklı olması ve komutların kurulumum için tam olarak aynı girilmesi gerektiğinden emin değilim. Yanlış yaparak kırmaktan korkuyorum ve bu nedenle daha deneyimli birisinin tavsiyesini almak istiyorum.

Bu benim kurulum örneklerinden farklıdır:

  1. Ben üç 1 TB sürücüler, iki değil sürücüleri (boyutu ne olursa olsun onlar kullanılır).
  2. Bu üç sürücüye yayılmış iki RAID 0 bölümüm var : biri 500 GB ve 2,3 TB. Bu, RAID dizisini oluştururken tam diskleri KULLANMAMAMIZ gerektiği yerine bunların bir kısmını kullanmam gerektiği anlamına gelir.
  3. Yıllar önce kurduğumda RAID 0 bölümlerimden en az biri için varsayılan olmayan bir blok boyutu kullandım . Bu blok boyutunun bahsettikleri yığın boyutuyla aynı olup olmadığı hakkında hiçbir fikrim yok. 500 GB'lık bölümümün boyutu 4 kb (küme başına 4096 bayt) ve 2.3 TB'lık bölümümün boyutu 64 kb (küme başına 65536 bayt).

İlgili çıktı sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL(yalnızca bu üç RAID0 sürücüsü için):

NAME   FSTYPE   SIZE MOUNTPOINT            LABEL
sdb           931.5G            
├─sdb1            1M            
├─sdb2          127M            
└─sdb3        931.4G            
sdc           931.5G            
├─sdc1            1M            
├─sdc2          127M            
└─sdc3        931.4G            
sdd           931.5G            
├─sdd1        166.7G            
└─sdd2        764.7G 

İlgili çıktı cat /proc/partitions(yalnızca bu üç RAID0 sürücüsü için):

8       16  976762584 sdb
8       17       1024 sdb1
8       18     130048 sdb2
8       19  976631478 sdb3
8       32  976762584 sdc
8       33       1024 sdc1
8       34     130048 sdc2
8       35  976631478 sdc3
8       48  976762584 sdd
8       49  174763008 sdd1
8       50  801865728 sdd2

Ubuntu'daki "Diskler" programı, sürücülerim için aşağıdaki bölümleri görüntüler:

/dev/sdb:   GUID Partition Table .
/dev/sdb1:  1.0 MB, Microsoft LDM metadata.
/dev/sdb2:  133 MB, Microsoft Reserved.
/dev/sdb3:  1.0 TB, Microsoft LDM data.
/dev/sdc:   GUID Partition Table partitioning.
/dev/sdc1:  1.0 MB, Microsoft LDM metadata.
/dev/sdc2:  133 MB, Microsoft Reserved.
/dev/sdc3:  1.0 TB, Microsoft LDM data.
/dev/sdd:   Master Boot Record partitioning.
/dev/sdd1:  179 GB, Unknown.
/dev/sdd2:  821 GB, Unknown.
/dev/sdd:   136 MB, Unallocated space.

Umarım burada yeterince bilgi vermiştim. Şimdi sorum şu: Kurulumumla girmem için uygun komut nedir, böylece her iki Windows RAID 0 bölümüme de Ubuntu'dan erişebiliyorum?

Şimdiden çok teşekkür ederim.

Yanıtlar:


16

Nihayet bu yığın taşması yazı sayesinde bu çalışma var: Linux ile Windows Spanned Diskler (LDM) geri yükleme?

Bu anlaşılması zor bilgileri ortaya çıkarmak son derece zordu. Arama günler sürdü ve sanırım bulamadım çünkü yazı RAID'den bahsetmiyor, bu yüzden arama sonuçlarımda gelmiyordu. Yine de kesinlikle Windows yazılımım RAID 0 için çalışıyor.

Çözüm:

Çözüm aslında oldukça basit. Bu amaç için özel olarak yapılmış harika bir araç var denir ldmtool. LDM (Mantıksal Disk Yöneticisi) kullanan Windows dinamik disklerini okuyabilir ve bu disklerle çalışabilir. Varsayılan olarak yüklenmez, ancak Ubuntu depolarına dahil edilir. Tek yapmam gereken iki komutu yürütmekti:

sudo apt-get install ldmtool
sudo ldmtool create all

İlk komut yüklenir ldmtoolve ikincisi bağlı tüm Windows dinamik diskleri için otomatik olarak aygıt eşlemeleri oluşturur. Bu eşlemeler bulunur /dev/mapper/ve manuel olarak monte edilebilir mount -t ntfs /dev/mapper/mapfilename, ancak bunu yapmak zorunda değildim - Yukarıdaki iki komutu çalıştırdıktan sonra Ubuntu bunları benim için otomatik olarak monte etti. Tüm yapmam gereken buydu ve onlara dosya tarayıcısından hemen erişebildim!

Bağlantılı yayın, bunu her önyüklemede otomatik olarak yapmak için bir öneri içerir. Sadece dosyayı açın /etc/init/mountall.confve satırı dosyanın sonuna yakın satırdan [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || truehemen önce ekleyin exec mountall ....

Bu çözümün tüm kredisi, Stack Overflow'a cevap olarak gönderen Christian Hudon'a gidiyor. Teşekkürler!

Buna daha fazla bilgi eklemek için, ldmtoolbirimlerimi bilgi için sorgulamak üzere başka komutlar kullandım :

sudo ldmtool scan /dev/sdd
[
  "e856a65f-e558-11e1-ae19-bc5ff435f790"
]

sudo ldmtool show diskgroup e856a65f-e558-11e1-ae19-bc5ff435f790
{
  "name" : "Dan-PC-Dg0",
  "guid" : "e856a65f-e558-11e1-ae19-bc5ff435f790",
  "volumes" : [
    "Volume1",
    "Volume2"
  ],
  "disks" : [
    "Disk1",
    "Disk2",
    "Disk3"
  ]
}

sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume1
{
  "name" : "Volume1",
  "type" : "striped",
  "size" : 1048578048,
  "chunk-size" : 128,
  "hint" : "D:",
  "partitions" : [
    "Disk1-01",
    "Disk2-01",
    "Disk3-01"
  ]
}

sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume2
{
  "name" : "Volume2",
  "type" : "striped",
  "size" : 4811194368,
  "chunk-size" : 128,
  "hint" : "E:",
  "partitions" : [
    "Disk1-02",
    "Disk2-02",
    "Disk3-02"
  ]
}

ldmtool create allEşlemeleri oluşturmak için gereken tüm çalışmalar gibi yukarıdaki komutları çalıştırmak gerekli değildir . Bunları ekledim çünkü soruya kurulumum hakkında bilgi ekledim, bu nedenle bu bilgiler daha sonra bu yayına rastlayan herkes için yararlı olabilir. Özellikle, göre ldmtool, her iki dinamik birimimin Windows'ta farklı blok boyutlarıyla oluşturulmasına rağmen 128 büyüklüğünde bir yığın kullandığını görebiliriz. Bu, blok boyutu ve yığın boyutunun eşanlamlı terimler olmadığı anlamına gelir. Komutlar ldmtool show diskve ldmtool show partitiondaha fazla bilgi görüntülemek için kullanılabilir.


5 yaşında çözüm hala Ubuntu 18'de çalışıyor. Teşekkürler.
Cris

2

Ubuntu 14.04 Windows 7 ldmtool tarafından bir newby kullanılarak oluşturulan LTS mount raid 1. ** **

Ben de aynı problemi yaşadım. Yukarıdaki cevabı kullanarak şansımı kaybettim ve

gksu gedit /etc/init/mountall.conf 

çizgiyi değiştirerek

 [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true

için

/bin/ldmtool create all >/dev/null || true

sonra ekledi

/bin/mount /dev/mapper/ldm_vol_NAME-Dg0_volume1 /media/WHEREVER

Benim mountall.conf şimdi böyle görünüyor

     **fi
/usr/bin/ldmtool create all >/dev/null || true
/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m
    exec mountall --daemon $force_fsck $fsck_fix $debug_arg
end script**

daha önce 2 satır ile aynı şeyi yapmak için bir senaryo vardı

/usr/bin/ldmtool create all >/dev/null || true

/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m

ve ekledi

sh /home/ron/mirror to the end of /etc/rc.local 

şimdi ubuntu başladığında monte edilir

Bunun sizin için çalışacağını bilmiyorum!


2

Diğer cevaplar sadece kısmen Mint 18.3'te çalıştı.

Düzenleme /etc/init/mountall.confsistemimde hiç çalışmadığı için Raid0 sürücülerini otomatik olarak monte etmek biraz daha zorlayıcıydı ve yayılmış birimi bir tanım kullanarak monte edebilmek ve içinde /etc/fstabbir komut dosyası kullanmak istemedim /etc/rc.local.

İşte yaptığım şey:

sudo apt-get install ldmtool

Birimin tanındığından ve şunlarla doğru şekilde monte edilebildiğinden emin olun:

sudo ldmtool create all

Sistemimin sürücüleri görebildiğini ve yazabildiğini bilmek. Bir hizmet oluşturdum (bu sitedeki talimatları izleyerek :( https://wiki.archlinux.org/index.php/Dynamic_Disks )

hizmetin açıklamasıyla etc/systemd/system/çağrılan bir dosya yarattı ldmtool.service:

[Unit]
Description=Windows Dynamic Disk Mount
Before=local-fs-pre.target
DefaultDependencies=no
[Service]
Type=simple
User=root
ExecStart=/usr/bin/ldmtool create all
[Install]
WantedBy=local-fs-pre.target

Hizmeti başlangıçta etkinleştirmek için:

sudo systemctl is-enabled ldmtool

Kullanılan birimin UUID'sini bulmak için:

sudo blkid

Hangi bana aşağıdaki bilgileri verdi: /dev/mapper/ldm_vol_XXX-Dg0_Volume1: LABEL="6TB_Raid" UUID="0A281FC6281FAFA5" TYPE="ntfs"

Bu yüzden şöyle bir satır oluşturdum /etc/fstab:

UUID=0A281FC6281FAFA5 /media/6TB_Raid ntfs-3g  auto,users,uid=1000,gid=100,dmask=027,fmask=137,utf8  0  0

Her açtığımda ses orada.

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.