여러 개의 하드 드라이브를 하나의 볼륨으로 설정하는 방법은 무엇입니까?


39

box를 기본적으로 파일 서버로 설정하려고합니다. 상자에 여러 개의 드라이브를 넣을 계획이며 하나의 드라이브처럼 보이도록 모두 설정하고 싶습니다. 따라서 본질적으로 / media에 마운트하고 실제로 어떤 드라이브가 사용되는지 신경 쓰지 않아도됩니다. 이 작업을 수행하는 데 올바른 용어가 무엇인지 잘 모르겠으므로이 상황에서 Google fu는 쓸모가 없습니다.

그렇다면 하나의 단일 드라이브로 여러 개의 하드 드라이브를 설정하려면 어떻게해야합니까?

답변:


17

LVM 을 사용하고 싶을 것입니다 . 여기에서 몇 가지 안내서를 찾을 수 있습니다 .


1
감사. 참고로 Raid를 사용하거나 아무것도 암호화하지 않기 때문에 SettingUpLVM-WithoutACleanInstall입니다.
Jacob Schoen 1

47

나는 이것을 설정하기 위해 단계별 지침을 작성하기로 결정했습니다. 중요한 점은 LVM의 일부가 아닌 별도의 파티션에서 부팅하는 시스템에서이 작업을 수행했다는 것입니다. 따라서 LVM은 단순히 저장 용이며 OS에서 부팅하는 데 필요한 파일이 없습니다. 또한 하나의 큰 드라이브의 모양을 만드는 것입니다.하지만 유사한 기술을 사용하여 여러 드라이브의 모양을 만들 수 있습니다 (실제로 파티션). 다른 가이드가 나에게 완전하지는 않기 때문에 매우 이기적인 뇌 덤프입니다. 그래서 다른 사람들을 도울 수 있기를 바랍니다.

이러한 지침은 본질적 으로 Murat Gunes에서 제공 한 링크 에서 내가 여기 에서 수집 한 추가 정보에 대한 것 입니다.


필요한 디스크가없는 디스크로 시작했습니다.

  • 먼저 Linux LVM으로 파티션을 만들어야합니다. fdisk를 사용하여이를 수행 할 수 있습니다. 우분투가 보는 모든 드라이브와 드라이브가 어떻게 나열되는지 볼 수 있습니다 :sudo fdisk -l

각 섹션의 첫 번째 줄은 드라이브를 식별하기에 충분한 정보를 제공해야합니다. 다음과 같이 보일 것입니다 :

디스크 / dev / sda : 500.1GB, 500107862016 바이트

중요한 부분은 /dev/sda입니다. 이제 실행하십시오 : sudo fdisk /dev/sda. 당신은 볼 것이다 :

명령 (도움이 필요하면 m) :

p드라이브의 파티션을 나열하려면 입력 하십시오. LVM의 일부로 만들 파티션을 삭제해야합니다. d삭제하려면 입력하십시오 . 드라이브에 파티션이 하나만 있으면 제거합니다 (제거 플래그를 지정하면 드라이브에 지시 할 때까지 발생하지 않습니다). 그렇지 않으면 (하나만 가지고 있음) 삭제하려는 번호를 입력하라는 메시지가 표시됩니다.

이제 새 파티션을 만들어야합니다. n새로운 타입 . 확장인지 기본인지 묻습니다. p기본 유형 입니다. 파티션 번호를 입력하고 1을 입력하십시오. 첫 번째 실린더와 마지막 실린더의 경우 기본값을 사용하려면 비워 둡니다.

이제 Linux LVM으로 설정해야합니다. 을 입력하십시오 t. 16 진수 코드를 요청 8e하고 Linux LVM에 사용 합니다. 당신은 다음과 같은 것을보아야합니다.

파티션 1의 시스템 유형을 8e로 변경 (Linux LVM)

마지막으로 입력 w하여 변경 사항을 디스크에 기록하십시오.

  • 이제 LVM sudo apt-get install lvm2을 설치해야합니다. 설치하려면 LVM을 실행 하십시오.
  • 나는 솔직히 말해서이 단계가 무엇을하는지 확실하지 않지만 modprobe dm-modLVM 모듈을로드 하기 위해 다른 지시를 받았다고 말합니다 . 오류가 발생하지 않아서 효과가 있다고 생각합니다.
  • 부팅 할 때이 모듈이로드되도록 / etc / modules 파일을 편집해야합니다. 수행 sudo nano /etc/modules편집에 열어. dm-mod항목 목록에 추가하십시오 .
  • 또한 필터를 업데이트하기 위해 lvm 구성을 편집하여 스캔하는 데 시간이 오래 걸리지 않습니다 (그렇기 때문에 그렇게 생각합니다). 따라서 다음 sudo nano -w /etc/lvm/lvm.conf과 같이 행을 변경하십시오.

필터 = [ "a /.*/"]

되려고:

필터 = [ "a | / dev / hd [ab] |", "r /.*/"]

  • 이제 첫 번째 LVM을 설정해야합니다. 마십시오 sudo vgscan. 다음과 같이 보일 것입니다 :

모든 물리 볼륨을 읽습니다. 시간이 걸릴 수 있습니다 ...
볼륨 그룹을 찾을 수 없습니다

sudo vgchange -a y사용 가능한 볼륨 그룹이 이미 설정된 경우를 대비 하여.

  • 이제 sudo pvcreate /dev/sda1파티션을 설정하기 위해 실행 하십시오.
  • 이제 sudo vgcreate media /dev/sda1파티션을 레이블링 할 이름으로 미디어 교체를 실행하십시오 .
  • 이제 sudo lvcreate -l100%FREE -nvolume media볼륨을 원하는 이름으로 바꾸어 실행하십시오 . 파티션에서 사용 가능한 모든 여유 공간이 사용됩니다.
  • 이제 ext4를 위해 볼륨을 포맷해야합니다 sudo mke2fs -t ext4 /dev/media/volume.
  • 볼륨을 마운트하려는 디렉토리를 만드십시오. 나는했다 sudo mkdir /mnt/media.
  • 을 수행하여 볼륨을 마운트하십시오 sudo mount /dev/media/volume /mnt/media. 이제 이것은이 세션에만 해당됩니다. 재부팅하면 자동으로 다시 마운트되지 않습니다. 그렇게하려면 /etc/fstab파일 을 편집해야 합니다. 이렇게하려면 sudo nano /etc/fstab줄을 추가 하고 추가하십시오.

/ dev / media / volume / mnt / media ext4 기본값 0 1

이제 디스크에 파일을 추가 할 수 있으므로 추가하려는 다른 디스크를 지우려면 여기에서 복사 할 수 있습니다.


볼륨에 다른 드라이브 추가

  • 따라서 첫 번째 글 머리표의 단계를 다시 수행하지만 새 드라이브를 수행하십시오.
  • 이제 드라이브 이름 인 경우 /dev/sdb1다음을 수행 sudo vgextend media /dev/sdb1하여 볼륨에 추가 할 수 있습니다.
  • 이제 볼륨을 마운트 해제해야합니다. 이렇게하려면 sudo umount /dev/media/volume.
  • 이제를 실행하여 볼륨의 통계를 볼 수 있습니다 sudo vgdisplay. 중요한 부분은 Free PE / Size입니다. 다음 단계를 위해 볼륨에 추가 할 수있는 공간을 알아야합니다.
  • 따라서 150GB의 공간이 있다면 그렇게 할 것 sudo lvextend -L+150G /dev/media/volume입니다.
  • 이제 sudo e2fsck -f /dev/media/volume파일 시스템을 확인하기 위해 실행 하십시오.
  • 이제 sudo resize2fs /dev/media/volume모든 것을 크기 조정하기 위해 실행하십시오 .
  • 통계를 다시 실행하고 Free PE / Size예상치로 떨어졌는지 확인할 수 있습니다.
  • 수행하여 볼륨을 다시 마운트하십시오. sudo mount /dev/media/volume /mnt/media
  • 다른 드라이브를 헹구고 반복하십시오.
    또한 내가 찾은 것은 디스크를 추가하기 전에 만든 LVM에 디스크에서 복사하는 데 필요한 파일이 있다는 것입니다. 그래서 cp -r -v파일을 재귀 적으로 복사하고 자세한 출력을 사용하여 수행중인 작업을 알 수 있도록 사용했습니다. 전체 명령의 예는 다음과 같습니다.

cp -r -v / mnt / temp / Movies / mnt / shared / media

/mnt/temp/Movies복사하려는 폴더는 어디에 있습니까 ?


빠른 질문 ... 일단 LVM이 만들어지면 두 개의 드라이브로 나중에 다른 드라이브를 추가하는 동일한 단계를 완료 했습니까?

@Craig 맞습니다.
Jacob Schoen

2
pvcreate / dev / sda1을 발행 할 때 다음과 같은 결과가 나타납니다. / dev / sda1 장치를 찾을 수 없습니다 (또는 필터링으로 무시). ... 런치 패드 버그 # 136830에 따라 lvm.con 의 필터 [ "a | / dev / hd [ab] |", "r /.*/"] ... 실제로 읽을 내용 : [ " a | / dev / [hs [d [ab] | ","r /.*/ "] 그렇지 않으면 감사합니다. C.

나는 야곱에게 묻는 것에 대해 같은 질문을했다! 나는 궁금했다 : Ubuntu를 다시 설치할 때 어떻게 작동합니까? 현재 resintall 후 디스크를 다시 마운트하고 모든 데이터가 여전히 남아 있습니다.이 상황에서 어떻게 작동합니까? (내 우분투 디스크는 별도의 디스크이지만 전체 lvm 설정이 우분투 디스크에 저장되어있는 것 같습니다.)
Maarten Kieft

2
드라이브를 추가 sudo lvextend -l +100%FREE /dev/media/volume하려면 모든 여유 공간을 채우십시오.
jcady

6

개인적으로 나는 모든 드라이브의 크기가 거의 같은지 확인하고 대신 RAID 5 "어레이"를 만듭니다. RAID 5의 단점은 사용 가능한 총 디스크 공간에서 하나의 디스크 크기를 잃는다는 것입니다. RAID 5의 장점은 디스크 중 하나가 죽더라도 아무 것도 잃지 않고 손상된 HDD를 간단히 교체 할 수 있다는 것입니다.

여분의 디스크를 사용하기 위해 데이터를 잃어 버릴 염려가 없거나 이미 가지고있는 다른 크기의 디스크를 사용할 계획이라면 Murat가 말한 것처럼 LVM을 사용하는 것이 가장 좋습니다.


팁 고마워. 나는 실제로 다른 크기의 드라이브를 몇 개 가지고 있습니다. 그래서 이것은 기본적으로 그들에게 용도를 찾는 것이 었습니다. 내가 물건을 잃어버린 경우에는 짜증이 났지만 최소한의 노력으로 대체 할 수 없었던 것은 중요하지 않으며 나에게 중요한 것은 이미 백업되었습니다. 그러나 다른 사람에게 유용한 팁은 +1입니다.
Jacob Schoen

mdadmftw. 레벨 5와 6과 같은 멋진 기능을 지원하는 소프트웨어 RAID 컨트롤러입니다. "RAID는 백업이 아닙니다."드라이브가 죽었을 때 복구하기가 훨씬 쉽습니다. 재 동기화되고 자리를 비 웁니다. 라이브 디스크와 재 동기화 할 수 있지만 기하 급수적으로 느립니다.
Oli
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.