Як правильно отримати доступ до програмного забезпечення Windows RAID 0?


12

Я новий користувач Ubuntu зі свіжою установкою, і я дуже бажаю розпочати роботу з ним. Однак усі мої важливі дані знаходяться на масиві програмного забезпечення Windows RAID 0, і мені це потрібно, щоб я залишився там, оскільки я також подвійний завантажувальний Windows. Мені потрібен доступ до цих даних на Ubuntu, і я не можу реально зробити нічого реального, поки я не отримаю доступ.

Я вже вивчив цю тему якнайкраще, і мені вдалося знайти дуже корисну посаду:

У публікації описано, як заставити Ubuntu бачити масив Windows RAID 0, який складається з двох дисків. Основна використовувана команда - sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2. За словами цього користувача та інших плакатів у потоці, він фактично працює. Це чудово.

Я ще не намагався виконувати ці вказівки. Чому? Допис містить попередження про те, як ви не повинні писати на нього, якщо ви ввели неправильний розмір шматка; зрозуміло, як це могло спричинити проблеми. Мене хвилює те, що моя настройка відрізняється від їх прикладу, і я не впевнений, що команди повинні бути введені абсолютно однаково для моєї установки. Я боюся зламати це, роблячи неправильно, і тому бажаю отримати поради когось більш досвідченого.

Ось чим моя установка відрізняється від їх прикладу:

  1. У мене є три накопичувачі на 1 ТБ, а не два накопичувачі (незалежно від розміру, який вони використовували).
  2. У мене є два розділи RAID 0, розподілені на цих трьох накопичувачах: один 500 ГБ і 2,3 ТБ. Це означає, що мені потрібно НЕ використовувати повні диски під час створення масиву RAID, а замість цього використовувати лише частину з них.
  3. Я використовував розмір блоку за замовчуванням для принаймні одного з моїх розділів RAID 0, коли я їх встановлював років тому. Я поняття не маю, чи розмір цього блоку збігається з розміром, який вони згадують. Мій розділ на 500 ГБ має розмір блоку 4 кб (4096 байт на кластер), а мій розділ 2,3 ТБ має розмір блоку 64 кб (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

Нарешті я отримав цю роботу завдяки цій публікації про переповнення стека: відновлення Spanned Disks (LDM) за допомогою Linux?

Розкрити цю невловиму інформацію було надзвичайно важко. Минули кілька днів пошуку, і, мабуть, я не знайшов його, оскільки в публікації не згадується про RAID, тому він не з’явився в моїх результатах пошуку. Це, безумовно, працює для мого програмного забезпечення Windows 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 ...рядком в кінці файлу.

Повна заслуга цього рішення належить Крістіану Хадону, хлопцеві, який опублікував це як відповідь на 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. Дякую.
Крис

2

Ubuntu 14.04 LTS-рейд 1, створений Windows 7 за ldmtool допомогою нового. ** **

У мене була така ж проблема. Використовуючи вищезгадану відповідь, я пощастив і отримав його

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

Мій mountaintall.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**

раніше у мене був сценарій, щоб зробити те ж саме з двома рядками

/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

Гучність є при кожному завантаженні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.