ฉันจะเข้าถึงซอฟต์แวร์ Windows RAID 0 ได้อย่างถูกต้องได้อย่างไร


12

ฉันเป็นผู้ใช้ Ubuntu ใหม่พร้อมการติดตั้งใหม่และอยากเริ่มต้นกับมัน อย่างไรก็ตามข้อมูลที่สำคัญทั้งหมดของฉันอยู่ในซอฟต์แวร์ RAID 0 ของ Windows และฉันต้องการให้อยู่ที่นั่นเพราะฉันยังใช้ Windows บูตคู่ ฉันต้องการเข้าถึงข้อมูลนี้บน Ubuntu และไม่สามารถทำสิ่งใดได้สำเร็จจนกว่าฉันจะสามารถเข้าถึงได้

ฉันได้ทำการวิจัยเรื่องนี้ให้ดีที่สุดเท่าที่จะทำได้แล้วและฉันจัดการเพื่อค้นหาโพสต์ที่มีประโยชน์มาก:

โพสต์ดังกล่าวจะอธิบายวิธีทำให้อูบุนตูเห็นอาร์เรย์ Windows RAID 0 ที่ประกอบด้วยไดรฟ์สองตัว sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2คำสั่งหลักที่ใช้คือ ตามที่ผู้ใช้นั้นและผู้โพสต์อื่น ๆ ในเธรดมันใช้งานได้จริง เยี่ยมมาก

ฉันยังไม่ได้ลองทำตามคำแนะนำเหล่านี้ ทำไม? โพสต์มีคำเตือนเกี่ยวกับวิธีที่คุณต้องไม่เขียนลงไปหากคุณใส่ขนาดอันผิด มันเข้าใจได้ว่าจะทำให้เกิดปัญหาได้อย่างไร ความกังวลของฉันคือการตั้งค่าของฉันแตกต่างจากตัวอย่างของพวกเขาและฉันไม่แน่ใจว่าคำสั่งควรจะป้อนเหมือนกันสำหรับการตั้งค่าของฉัน ฉันกลัวที่จะทำลายมันด้วยการทำผิดดังนั้นจึงอยากได้คำแนะนำจากคนที่มีประสบการณ์มากกว่านี้

นี่คือวิธีการตั้งค่าของฉันแตกต่างจากตัวอย่างของพวกเขา:

  1. ฉันมีไดรฟ์ 1 TB สามตัวไม่ใช่สองไดร์ฟ (ไม่ว่าจะใช้ขนาดเท่าใด)
  2. ฉันมีพาร์ติชั่น RAID 0 สองอันกระจายอยู่ในไดรฟ์ทั้งสาม: 500 GB และ 2.3 TB ซึ่งหมายความว่าฉันไม่จำเป็นต้องใช้ดิสก์แบบเต็มเมื่อสร้างอาร์เรย์ RAID แต่ใช้เพียงบางส่วนแทน
  3. ฉันใช้ขนาดบล็อกที่ไม่ใช่ค่าเริ่มต้นสำหรับพาร์ติชั่น RAID 0 อย่างน้อยหนึ่งพาร์ติชั่นเมื่อฉันตั้งค่าพาร์ติชั่นเมื่อหลายปีก่อน ฉันไม่รู้เลยว่าขนาดบล็อกนี้เหมือนกับขนาดก้อนที่พวกเขาพูดถึงหรือไม่ พาร์ติชัน 500 GB ของฉันมีขนาดบล็อก 4 kb (4096 ไบต์ต่อคลัสเตอร์) และพาร์ติชัน 2.3 TB ของฉันมีขนาดบล็อก 64 kb (65536 ไบต์ต่อคลัสเตอร์)

เอาต์พุตที่เกี่ยวข้องจากsudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL(สำหรับไดรฟ์ RAID0 สามตัวเท่านั้น) คือ:

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 

เอาต์พุตที่เกี่ยวข้องจากcat /proc/partitions(สำหรับไดรฟ์ RAID0 สามตัวเท่านั้น) คือ:

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 แสดงพาร์ติชั่นต่อไปนี้สำหรับไดรฟ์ของฉัน:

/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.

ฉันหวังว่าฉันจะให้ข้อมูลที่เพียงพอที่นี่ ดังนั้นตอนนี้คำถามของฉันคือ: คำสั่งที่เหมาะสมสำหรับฉันในการเข้าสู่การตั้งค่าของฉันเพื่อให้ฉันสามารถเข้าถึงพาร์ติชัน Windows RAID 0 ทั้งสองจาก Ubuntu ได้อย่างไร

ขอบคุณล่วงหน้า.

คำตอบ:


16

ในที่สุดฉันก็ใช้งานได้ด้วยโพสต์ Stack Overflow นี้: การคืนค่า Windows Spanned Disks (LDM) ด้วย Linux?

มันยากมากที่จะเปิดเผยข้อมูลที่เข้าใจยากนี้ ต้องใช้เวลาหลายวันในการค้นหาและฉันคิดว่าฉันไม่พบเพราะโพสต์นั้นไม่ได้กล่าวถึง RAID ดังนั้นจึงไม่เกิดขึ้นในผลการค้นหาของฉัน ใช้งานได้กับซอฟต์แวร์ Windows 0 RAID 0 ของฉัน

การแก้ไขปัญหา:

การแก้ปัญหาค่อนข้างง่ายจริง ๆ ldmtoolมีเครื่องมือที่ยอดเยี่ยมที่สร้างขึ้นเฉพาะสำหรับวัตถุประสงค์นี้เรียกว่าเป็น สามารถอ่านและทำงานกับดิสก์ไดนามิก Windows ที่ใช้ LDM (Logical Disk Manager) ไม่ได้ติดตั้งตามค่าเริ่มต้น แต่รวมอยู่ในที่เก็บของ Ubuntu สิ่งที่ฉันต้องทำคือรันคำสั่งสองคำสั่ง:

sudo apt-get install ldmtool
sudo ldmtool create all

คำสั่งแรกติดตั้งldmtoolและที่สองให้สร้างการแมปอุปกรณ์โดยอัตโนมัติสำหรับดิสก์ไดนามิก Windows ที่เชื่อมต่อทั้งหมด การจับคู่เหล่านี้อยู่ใน/dev/mapper/และสามารถติดตั้งด้วยตนเองได้mount -t ntfs /dev/mapper/mapfilenameแต่ฉันไม่จำเป็นต้องทำ - Ubuntu ติดตั้งให้ฉันโดยอัตโนมัติหลังจากที่ฉันรันสองคำสั่งข้างต้น นั่นคือทั้งหมดที่ฉันต้องทำและฉันสามารถเข้าถึงได้ทันทีจากเบราว์เซอร์ไฟล์!

โพสต์ที่ลิงก์จะมีคำแนะนำสำหรับการทำสิ่งนี้โดยอัตโนมัติทุกครั้งที่บูต เพียงแค่เปิดไฟล์/etc/init/mountall.confและเพิ่มบรรทัด[ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || trueทันทีก่อนที่exec mountall ...บรรทัดใกล้ถึงจุดสิ้นสุดของไฟล์

เครดิตทั้งหมดสำหรับโซลูชันนี้จะไปที่ Christian Hudon คนที่โพสต์ไว้เป็นคำตอบบน Stack Overflow ขอบคุณ!

ในการเพิ่มข้อมูลเพิ่มเติมให้กับสิ่งนี้ฉันใช้ldmtoolคำสั่งอื่น ๆเพื่อสอบถามปริมาณของข้อมูล:

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 allกับงานที่จำเป็นทั้งหมดเพื่อสร้างการแมป ฉันเพิ่งรวมพวกเขาเพราะฉันได้รวมข้อมูลเกี่ยวกับการตั้งค่าของฉันในคำถามดังนั้นข้อมูลนี้อาจเป็นประโยชน์สำหรับทุกคนที่เจอโพสต์นี้ในภายหลัง โดยเฉพาะอย่างยิ่งเราจะเห็นว่าตามldmtoolปริมาณไดนามิกของฉันทั้งสองใช้ขนาดก้อน 128 แม้ว่าจะถูกสร้างขึ้นด้วยขนาดบล็อกที่แตกต่างกันใน Windows ฉันเดาว่านี่หมายความว่าขนาดบล็อกและขนาดก้อนไม่ใช่คำที่มีความหมายเหมือนกัน คำสั่งldmtool show diskและldmtool show partitionสามารถใช้เพื่อแสดงข้อมูลเพิ่มเติม


โซลูชันอายุ 5 ปียังคงทำงานใน Ubuntu 18. ขอบคุณ
Cris

2

Ubuntu 14.04 LTS mount raid 1 สร้างโดย windows 7 ldmtool โดย newby ** **

ผมมีปัญหาเดียวกัน. ใช้คำตอบข้างต้นฉันโชคดีและติดมันด้วย

gksu gedit /etc/init/mountall.conf 

โดยการเปลี่ยนสาย

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

ถึง

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

เพิ่มแล้ว

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

Mountall.conf ของฉันดูเหมือนตอนนี้

     **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**

ก่อนหน้านี้ฉันมีสคริปต์ให้ทำเช่นเดียวกันกับ 2 บรรทัด

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

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

และเพิ่ม

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

ตอนนี้มันถูกติดตั้งเมื่อ Ubuntu เริ่ม

ฉันไม่รู้ว่ามันจะทำงานให้คุณ!


2

คำตอบอื่น ๆ ทำงานเพียงบางส่วนในมิ้นท์ 18.3

อัตโนมัติติดตั้งไดรฟ์ Raid0 เป็นบิตท้าทายมากขึ้นเนื่องจากการแก้ไข/etc/init/mountall.confไม่เคยทำงานในระบบของฉันและฉันต้องการที่จะสามารถที่จะติดวัดปริมาณใช้คำนิยามในและไม่ใช้สคริปต์ใน/etc/fstab/etc/rc.local

ดังนั้นนี่คือสิ่งที่ฉันทำ:

sudo apt-get install ldmtool

ตรวจสอบว่าไดรฟ์ข้อมูลได้รับการยอมรับและสามารถติดตั้งอย่างถูกต้องด้วย:

sudo ldmtool create all

รู้ว่าระบบของฉันสามารถดูและเขียนลงในไดรฟ์ ฉันสร้างบริการ (ทำตามคำแนะนำจากเว็บไซต์นี้ :( https://wiki.archlinux.org/index.php/Dynamic_Disks )

สร้างไฟล์ที่ถูกetc/systemd/system/เรียก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

วิธีเปิดใช้งานบริการเมื่อเริ่มต้น:

sudo systemctl is-enabled ldmtool

หากต้องการค้นหา UUID ของปริมาณที่ใช้:

sudo blkid

ซึ่งทำให้ฉันข้อมูลต่อไปนี้: /dev/mapper/ldm_vol_XXX-Dg0_Volume1: LABEL="6TB_Raid" UUID="0A281FC6281FAFA5" TYPE="ntfs"

ดังนั้นฉันจึงสร้างบรรทัด/etc/fstabที่อ่าน:

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

ไดรฟ์ข้อมูลอยู่ที่นั่นทุกครั้งที่ฉันบูต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.