Windows 소프트웨어 RAID 0에 올바르게 액세스하려면 어떻게합니까?


12

새로 설치 한 새로운 Ubuntu 사용자이며 시작하기를 열망합니다. 그러나 중요한 모든 데이터는 Windows 소프트웨어 RAID 0 배열에 있으며 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. 나는이 두 가지 일 5백기가바이트 2.3 TB : 그 세 드라이브에 분산 RAID 0 파티션을. 즉, RAID 배열을 만들 때 전체 디스크를 사용할 필요는 없지만 일부만 사용하면됩니다.
  3. 몇 년 전에 RAID 0 파티션 중 하나 이상에 기본 크기아닌 블록 크기 를 사용했습니다. 이 블록 크기가 그들이 언급 한 청크 크기와 같은지 전혀 모른다. 내 500GB 파티션의 블록 크기는 4kb (클러스터 당 4096 바이트)이고 2.3TB 파티션의 블록 크기는 64kb (클러스터 당 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 파티션에 모두 액세스 할 수 있도록 설정으로 입력하는 올바른 명령은 무엇입니까?

대단히 감사합니다.

답변:


16

이 스택 오버플로 게시물 덕분에 마침내이 작업을 수행했습니다. 리눅스를 사용한 Windows 스패닝 디스크 (LDM) 복원?

이 어려운 정보를 발견하는 것은 매우 어려웠습니다. 검색하는 데 며칠이 걸렸으며 게시물에 RAID에 대한 언급이 없으므로 검색 결과에 나타나지 않았기 때문에 찾지 못했습니다. 그래도 내 Windows 소프트웨어 RAID 0에서 작동합니다.

해결책:

해결책은 실제로 매우 간단합니다. 이 목적을 위해 특별히 설계된 멋진 도구가 있습니다 ldmtool. LDM (Logical Disk Manager)을 사용하는 Windows 동적 디스크를 읽고 작업 할 수 있습니다. 기본적으로 설치되어 있지 않지만 Ubuntu 리포지토리에 포함되어 있습니다. 내가해야 할 일은 두 가지 명령을 실행하는 것입니다.

sudo apt-get install ldmtool
sudo ldmtool create all

첫 번째 명령은을 설치 ldmtool하고 두 번째 명령 은 연결된 모든 Windows 동적 디스크에 대한 장치 매핑을 자동으로 생성합니다. 이 매핑은에 /dev/mapper/있고 수동으로 마운트 할 수 mount -t ntfs /dev/mapper/mapfilename있지만 그럴 필요는 없습니다. 위의 두 명령을 실행 한 후 우분투가 자동으로 마운트했습니다. 이것이 내가해야 할 일이며 파일 브라우저에서 즉시 액세스 할 수 있습니다!

연결된 게시물에는 부팅 할 때마다이 작업을 자동으로 수행하기위한 제안이 포함되어 있습니다. 파일을 열고 파일 끝 근처의 /etc/init/mountall.conf[ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true바로 앞에 줄을 추가 exec mountall ...하십시오.

이 솔루션에 대한 전체 크레딧은 스택 오버플로에 대한 답변으로 게시 한 Christian Hudon에게 전달됩니다. 감사!

이것에 대한 추가 정보를 추가하기 위해 다른 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매핑을 만드는 데 필요한 모든 작업이 수행되므로 위의 명령을 실행할 필요는 없습니다 . 질문에 설정에 대한 정보가 이미 포함되어 있으므로 방금 포함 시켰으므로이 정보는 나중에이 게시물을 방문하는 사람에게 도움이 될 수 있습니다. 특히에 따르면 ldmtoolWindows에서 다른 블록 크기로 생성되었지만 두 동적 볼륨 모두 청크 크기 128을 사용 한다는 것을 알 수 있습니다 . 이것은 블록 크기와 청크 크기가 동의어가 아니라는 것을 의미한다고 생각합니다. 명령 ldmtool show diskldmtool show partition추가 정보를 표시하는 데 사용할 수 있습니다.


우분투 18에서 여전히 5 년 된 솔루션이 작동합니다. 감사합니다.
Cris

2

Ubuntu 14.04 LTS mount raid 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

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

이전에는 두 줄로 같은 작업을 수행하는 스크립트가있었습니다.

/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 

이제 우분투가 시작될 때 마운트됩니다

나는 이것이 당신을 위해 작동한다는 것을 모른다!


2

다른 답변은 Mint 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.