RAID를 사용하지 않는 다중 하드 디스크 LVM에서 하드 디스크 오류가 발생하면 모든 것이 손실됩니까?


16

여러 물리적 하드 디스크를 하나의 볼륨으로 결합하고 싶기 때문에 미디어 / 파일 서버에 LVM을 사용하는 것에 대해 토론하고 있습니다. 내 LVM에서 RAID를 사용하고 싶지 않으므로 질문은 다음과 같습니다.

볼륨에있는 여러 하드 디스크 중 하나가 작동 중지되면 모든 데이터가 손실되거나 해당 개별 디스크에 저장된 데이터가 손실됩니까?

또한 개별 디스크의 데이터를 잃어버린 경우 해당 디스크를 교체하고 백업에서 복구하기 위해 디스크에 있던 것을 복원하는 것만 큼 간단합니까?

답변:


11

볼륨에있는 여러 하드 디스크 중 하나가 작동 중지되면 모든 데이터가 손실되거나 해당 개별 디스크에 저장된 데이터가 손실됩니까?

아니요 전체 LVM에 저장된 데이터가 손실되지 않습니다

또한 개별 디스크의 데이터를 잃어버린 경우 해당 디스크를 교체하고 백업에서 복구하기 위해 디스크에 있던 것을 복원하는 것만 큼 간단합니까?

아니 그렇게 간단하지 않습니다

비슷한 질문 LVM 및 재해 복구를 읽을 수 있습니다.


7

간단합니다 : mhddfs를 찾고 있습니다.
하나의 큰 파일 시스템 인 것처럼 가장하고 언급 된 순서대로 디스크에 쓰고 첫 번째 파일이 너무 가득 찬 경우 큰 파일을 다른 장치로 옮깁니다. 실제로 디스크의 하위 폴더를 사용하여 동일한 기능을 수행 할 수 있습니다.
개별 디스크를 먼저 마운트하고 액세스 가능한 상태로 유지해야합니다. 여유 공간이 파일 시스템에 의해 올바르게보고되는 한, 파일 시스템을 전혀 변경하지 않으며 어떤 파일 시스템이 있는지 상관하지 않습니다. 디스크가 손실 된 경우 mhddfs를 즉시 다시 마운트해야하고 해당 디스크의 데이터가 사라집니다.
용법:

mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]

또는 /etc/fstab

 mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0

복잡하고 강력한 : unionfs를 원합니다 .
mhddfs는 훌륭하고 매우 간단하지만 SSH를 통해 다른 사람에게 액세스 권한을 부여 할 때 파일 권한에 문제가 있습니다. 해결책을 찾지 못했지만 unionfs를 찾았습니다.
Unionfs를 사용하면 다른 파일 시스템의 여러 폴더를 하나의 폴더에 마운트 할 수 있지만 권한에 대해서는 마술입니다. 여러 개의 읽기 전용 폴더와 하나의 쓰기 가능한 폴더를 병합하여 하나의 폴더로 표시 할 수 있습니다. 병합 된 폴더를 공유 한 사람은 표시된 것처럼 읽기 전용 폴더에 쓸 수 있지만 파일은 쓰기 가능한 단일 폴더로 끝납니다. Linux 부팅 CD는 이와 같이 작동하며 쓰기 가능한 디스크는 램 디스크입니다. 읽기 전용 폴더에서 파일을 삭제할 수도 있습니다. 실제로 파일을 삭제하지는 않지만 쓰기 디렉토리에 숨겨진 화이트리스트 파일을 만듭니다. 모든 옵션을 잡으면 기본적으로 파일 시스템을 가난한 사람 SVN 으로 사용할 수 있습니다 .
SVN과 같은 옵션을 너무 많이 사용하면 쓰기 가능한 폴더가 작고 숨겨진 화이트리스트 파일로 채워지는 반면 기존 데이터는 두 번 놓칠 수 있습니다 (시나리오에서는 불가능하지만 가능). 그 외에는 디스크를 깨끗하고 개별적으로 사용할 수 있습니다. 파일이 디스크에 비해 너무 큰 경우 어떻게되는지 아직 모르겠습니다.
용법:

 unionfs-fuse -o cow,max_files=32768 \
                 -o allow_other,use_ino,suid,dev,nonempty \
                 /path/to/dir1=rw:/path/to/dir2=ro:/dir3
                 /u/union/etc

여기서 권한이 다르게 표시 되더라도 =rw폴더를 읽고 쓸 수 =ro있게하고 읽기 전용으로 만듭니다. 에서 etc/fstab이입니다

unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0

이들은 탈착식 디스크가 연결되지 않은 상태를 어떻게 처리합니까?
endolith

@endolith 이동식 디스크의 mhddfs는 디스크의 끝을 알지 못하고 unionfs는 실제로 의미가 있지만 이동식 장치의 가용성에 따라 다르게 다시 마운트해야합니다.
DennisH

귀하의 의견을 이해하지 못합니다. mhddfs를 사용하여 3 개의 USB 드라이브를 결합하여 파일을 넣은 다음 제거하면 영구적으로 나쁜 일이 있습니까? 다시 연결하면 이전 방식으로 되돌아 갑니까?
endolith

3
@endolith 쓰기 중 플러그를 뽑는 것은 결코 좋지 않습니다. 쓰기 후에 플러그를 뽑으면 USB 드라이브가 모두 개별적으로 문제없이 작동합니다. 드라이브를 분리하고 PC2에 꽂고 사용하고 다시 PC1에 꽂았다가 다시 장착하여 이전과 같이 계속 사용할 수 있습니다. 일반적인 PC1의 마운트 지점 사이에 드라이브를 가져 왔다는 정보가 있어야합니다 (다시 마운트). 그러나 PC2와 2 개의 파일을 공유한다고 가정하면 mhddfs의 어느 드라이브가 마운트 될 것인지 또는 심지어 동일한 드라이브인지 알 수 없습니다. 드라이브는 여전히 위치를 확인 / 확인하기 위해 개별적으로 도달 할 수 있지만 더 이상 mhddfs를 포함하지 않습니다.
DennisH

4

여러 장치를 함께 연결하는 경우 중복성이 없으므로 데이터가 손실 될 수 있습니다. 그러나 비즈니스에 미디어 / 파일 서버를 사용하는 경우 모든 것이 백업 서버 / 테이프 드라이브에 백업되어 있으므로 아무것도 잃어 버리지 않아야합니다.

RAID를 피하는 이유는 무엇입니까? RAID의 요점은 가용성입니다. 디스크 오류로 인해 시간을 낭비하지 않으려면 RAID 1 구성을 사용하면 읽기 속도를 높일 수 있습니다. 너무 비싸지 않으며, 처음 디스크 장애가 발생했을 때 스스로 비용을 지불해야하며, 카드 비용을 지불하지 않으려는 경우, 소프트웨어 RAID를 사용하도록 Linux를 설정할 수 있습니다. 올바른 드라이브를 교체 할 수 있도록 문제를 해결하십시오.

그렇지 않으면 나머지 디스크에서 가능한 데이터를 복구하기 위해 일부 후프를 뛰어 넘어야합니다. 가능 하겠지만, 당신은 당신이해야 할 것보다 훨씬 더 많은 문제를 요구하고 있습니다. 적절한 백업을하고 RAID를 다시 고려하십시오.


1
가용성에 대해 걱정하지 않기 때문에 RAID를 피하고 있습니다. 이것은 개인적인 용도입니다. 안정성을 위해 더 많은 것을 찾고 있기 때문에 RAID를 피하려고합니다. RAID에서 하나의 작은 일이 잘못되어 전체 어레이를 잃어 버렸고 그 문제를 다루고 싶지 않습니다. 차라리 백업 할 수있는 하나의 큰 파일 보관소가 있습니다.
Fujin

1
나는 그것을 이해하지 못한다. RAID는 한 가지 문제가 발생해도 어레이를 잃지 않습니다. RAID를 사용하지 않으면 한 번의 실패로 모든 것이 종료됩니다.
JOTN

4
@ user72630 : RAID 작동 방식에 대한 심각한 오해가 있습니다. 우선, 서로 다른 RAID 레벨이 있으며, 그 중 대부분은 디스크 장애시 데이터 손실을 피하도록 설계되었습니다. 그런 다음 LVM을 계획하는 것처럼 여러 디스크에 하나의 파일 시스템 만 갖도록 RAID를 구성 할 수 있습니다. en.wikipedia.org/wiki/RAID
Sven

다른 사람들이 말한 것. RAID를 사용하는 요점은 가용성을 유지하는 것입니다. 즉, 드라이브가 고장 나더라도 데이터에 여전히 액세스 할 수 있습니다. 적절한 기어를 사용하면 고장난 드라이브를 핫 스왑하고 다운 타임 걱정하지 않아도 됩니다 .
Bart Silverstrim

3

모든 LVM 볼륨에 걸쳐 하나의 파일 시스템을 사용하는 경우 FS가 기본 물리 볼륨에 대해 알지 못하고 이에 맞는 구조를 만들지 않으므로 전체 파일 시스템이 손상됩니다. 작업 디스크의 일부 부품을 구출하는 것이 가능할 수도 있지만 보장 할 수는 없습니다.

그리고 손상된 디스크의 파일을 복구하는 것도 같은 이유로 작동하지 않습니다.


2

미디어 파티션에 대해 mdadm을 구성하는 것이 훨씬 간단한 경로라고 생각합니다. "실제 RAID"용 하드웨어가없는 경우 mdadm 라우트를 진행하는 것이 훨씬 쉬우 며 중복 및 간단한 디스크 교체 요구 사항을 충족하는 것으로 보입니다.

# Format your drives first
# Create your MD
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2

# In the event that a drive fails do the following
mdadm /dev/md1 --fail /dev/sda1
# Format the new drive
mdadm --add /dev/md1 /dev/sda1

자세한 정보 : http://en.wikipedia.org/wiki/Mdadm

볼륨에있는 여러 하드 디스크 중 하나가 작동 중지되면 모든 데이터가 손실되거나 해당 개별 디스크에 저장된 데이터가 손실됩니까?

mdadm 및 RAID 5를 사용하는 경우 하나의 드라이브를 잃을 수 있으며 어레이 성능이 저하되어 성능 저하가 발생할 수 있습니다.


1

필자가 언급하지 않은 것을 이해해야 할 중요한 것은 파일 시스템의 파일이 디스크의 한 지점에 있어야하는 것은 아니라고 생각합니다. 파일 시스템 내부의 어느 곳에 나있을 수있는 블록으로 나뉩니다. 파일이 disk1, 다음 disk2 등에있는 경우 첫 번째 4K. 파일 시스템의 청크를 잃어버린 경우 무엇이든 복구하려고 시도하는 엉망을 상상할 수 있습니다.


0

Btrfs는 여기서 좋은 선택입니다. 하나의 디스크 손실 ( "raid1"청크 프로파일)에 대해 메타 데이터를 복원 할 수 있습니다. 다른 디스크의 데이터는 여전히 닿을 수 있습니다 (실제로 디스크가 참조되는 곳이면 구멍이 가득 찬 파일로 변환됩니다). 필터로 btrfs balance를 실행하면됩니다 .

sudo btrfs balance start -m convert=raid1 /mnt/point
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.