LVM에서 디스크를 추가하는 가장 좋은 방법은 무엇입니까


21

Linux 맨 페이지에 따르면 원시 디스크와 파티션을 볼륨 그룹에 추가 할 수 있습니다.

다른 문서 (RedHat, CentOS 또는 openSUSE)에서 모든 예는 원시 디스크 대신 VG에 파티션 추가를 참조합니다. 일반적인 모범 사례는 무엇입니까?


답변:


19

RHEL6 LVM 관리 안내서

RHEL 6 논리 볼륨 관리 안내서 에 따르면 전체 드라이브를 LVM 볼륨 그룹에서 물리 볼륨으로 사용하려는 경우 여전히 파티션을 분할해야합니다.

"RHEL6 논리 볼륨 관리자 관리 LVM 관리자 안내서"에서 발췌

2.1.2. 디스크의 다중 파티션

LVM을 사용하면 디스크 파티션에서 물리 볼륨을 만들 수 있습니다. 일반적으로 다음과 같은 이유로 전체 디스크를 LVM 물리 볼륨으로 레이블링하는 단일 파티션을 작성하는 것이 좋습니다.

행정 편의

각 실제 디스크가 한 번만 나타나는 경우 시스템에서 하드웨어를 추적하는 것이 더 쉽습니다. 디스크가 고장 나면 특히 그렇습니다. 또한 단일 디스크의 여러 물리 볼륨으로 부팅시 알 수없는 파티션 유형에 대한 커널 경고가 발생할 수 있습니다.

LVM 하우투

섹션 11.1. LVM Howto의 디스크 또는 디스크 파티션 초기화 는 다음과 같습니다.

LVM Howto에서 발췌

전체 디스크의 경우 :

디스크에서 pvcreate를 실행하십시오.

# pvcreate /dev/hdb

디스크 시작시 볼륨 그룹 설명자가 작성됩니다.

권장하지 않음

전체 디스크에 걸쳐있는 파티션과 달리 전체 디스크를 PV로 사용하는 것은 생성 할 수있는 관리 문제로 인해 권장되지 않습니다. 디스크를 보는 다른 OS는 LVM 메타 데이터를 인식하지 못하고 디스크를 사용 가능한 것으로 표시하므로 덮어 쓰게됩니다. LVM 자체는 전체 디스크 PV에서 잘 작동합니다.

LVM에서 파티션 테이블이있는 디스크를 초기화 할 수 없다는 오류가 발생하면 먼저 작업중인 디스크가 올바른지 확인하십시오. 확실하다면 다음을 실행하십시오.

위험한

다음 명령은 작동중인 디스크의 파티션 테이블을 삭제합니다. 올바른 디스크인지 확인하십시오.

# dd if=/dev/zero of=/dev/diskname bs=1k count=1
# blockdev --rereadpt /dev/diskname

결론

이들은 물리적 볼륨으로 추가하기 전에 HDD에서 단일 파티션을 포맷해야하는지 여부를 결정할 때 신뢰할 수있는 기본 소스입니다. 다른 답변에서 지적했듯이 (또는 주석) 파티션없이 전체 드라이브를 추가하는 것만으로는 잘못되지 않습니다.

나에게 나는 안전 벨트를 착용 한 채 내 차를 운전하는 것과 같다. 당신이 사고를 당하지 않는다면 안전 벨트는 아무 목적이 없었지만, 만약 사고가났다면 나는 그것을 착용 한 것이 기쁘다.

후속 조치 # 1 (@Joel의 의견)

위의 2 가지 가이드가 2 가지 이유가 있다고 생각했습니다. 둘 다 공식 가이드입니다. 하나는 RH에서, 다른 하나는 LVM 팀이 구성한 하우투입니다.

또 다른 이유가 있습니다. HDD를 분할하지 않으면 HDD 사용 방식을 명확하게 식별하기 위해 HDD에 ID가 명시 적으로 설정되지 않습니다.

 fdisk -l
 ...
/dev/sda6       318253056   956291071   319019008   8e  Linux LVM

시스템 관리자로서이 드라이브가 8e를 사용하지 않고 사용되는 방식에 대한 의도는 저 자신과 다른 사람들에게 훨씬 더 분명합니다.

@Joel의 말에 감사드립니다. 저는 데스크톱 / 서버 물리적 / 가상 배포와 대규모 스토리지 배포 모두에서 100 대의 Linux 배포를 수행 한 Fortune 500 대 기업에서 근무했습니다. 속담.


단지 Red Hat이 사실을 밝히지 않는다고 말합니다. 디스크를 분할해야하는 실제 이유를 아직 들어 본 적이 없으며 그 이유를 생각할 수 없습니다. 또한 "각 실제 디스크가 한 번만 나타나는 경우 시스템의 하드웨어를 추적하는 것이 더 쉽습니다." 이것이 정말로 문제입니까? fdisk -l한 번에, 한 /sys/block번에, 그리고 당신의 바이오스 에 한 번 나타날 것입니다 . 어디서 복제해야합니까? (계속)
Bratchley

나는 개인적인 경험을 통해 많은 양의 공간을 추가해야했습니다. 커널이 파티션 테이블을 놓지 못하게하는 모든 종류의 문제에 부딪 쳤습니다. 따라서 재 파티션을 수행 한 다음 다시 부팅해야했기 때문에 서비스 중단이 발생했습니다. "디스크를 보는 다른 OS는 LVM 메타 데이터를 인식하지 못하고 디스크를 사용 가능한 것으로 표시하므로 덮어 쓰일 가능성이 있습니다"라는 말은 사실이 아닙니다. Windows에서는 사용되지 않는 디스크로 표시되지만 (관리자가 더 잘 알고 있음) 어떤 OS에 대해 이야기하고 있습니까?
Bratchley

지금까지 디스크 파티셔닝을 선호한다고 말하는 사람은 실제로 정당한 이유를 제시하지 않으며 실제로 기업 환경에서 결국에는 키스 터에서 디스크를 물어 뜯는 일을하도록 사람들을 권장하고 있습니다 (결국 더 많은 공간을 원할 것입니다) . 우리가 받고있는 모든 것은 다른 OS에서 할당되지 않은 방식으로 표시되는 방법에 대한 모호한 손 모양의 응답입니다 (어쨌든 문제가되는 것처럼 Windows는 파티션에서 ext3을 인식하지 못합니다) 또는 두 번 이상 표시되는 것에 대한 확실한 진술 또는 스토리지를보다 쉽게 ​​추적 할 수 있습니다.
Bratchley

고마워요 :)이 토론은 정말 도움이되었습니다.
MacGyver

2
@Joel-저는 그대로입니다. 토론에 감사드립니다. 우리는 모두 다양한 실제 경험을 가지고 현재 웹에서 제공되는 것보다이 특정 주제에 대해 더 나은 지침을 제공하고 시도 할 수 있다는 것이 좋습니다. 최소한 우리는 최소한 단편화 된 많은 문서를 단일 위치로 가져옵니다. 8-).
slm

10

일반적으로 인식되는 설명자 (메타 데이터)를 사용하는 것이 바람직하며 MBR은 그러한 설명 자로 사용됩니다. GPT조차도 기존 MBR 기반 파티션 테이블을 사용하여 그 존재를 나타냅니다.

실제로 일부 디스크 공간을 잃어 버렸지 만 디스크의 내용 (및 위치)이 자명하다는 것을 이해하면 이점은 무시할 만합니다.


1
디스크 공간을 잃지 않아도됩니다. 확인 pvdisplay(PV 크기 : 사용할 수 없음 X은 MIB), X는 1MiB보다 큰 경우 할 수 있습니다 단지 더 이상 잃지 않고 잘 파티션으로.
frostschutz

@frostschutz 세심한주의를 기울이면서 현명한 선택 : "낭비하는 데 사용할 수있는"공간은 "dev size modulo PE size"가 아니라 "(dev size minus metadata space (384K)) modulo PE size"입니다. 물론 그 결과가 더 많거나 적은지 여부는 다릅니다.
Hauke ​​Laging

또한 LVM에는 설명자가 있습니다. 먼저 LVM 디스크립터보다 FAT 테이블을 작성해야하는 이유. LVM은 메타 데이터를 두 번째 섹터에 저장합니다. 내가 먼저 지방을 만드는 것으로 생각할 수있는 한 가지는 재난 복구 또는 일부 초보자 리눅스 관리자 (디스크 관리)를위한 것입니다.
MacGyver

HP-UX는이 플랫폼에서 LVM도 사용합니다.이 플랫폼에서는 원시 디스크를 추가하고 LVM이 디스크에서 자신의 작업을 수행하는 일반적인 관행입니다. LVM2.x
MacGyver

1
@ user39597, 엉망입니다. FAT는 File Allocation Table (파일 할당 테이블)의 약자입니다. MBR 파티션 테이블은 사실상 표준이며, 많은 다른 도구들이 LVM에 대해 알지 못합니다. 디스크가 파티션되어 있고 점유되어 있음을 알 수 있습니다. 예방 조치입니다.
poige 2013 년

4

디스크의 100 %를 차지하는 파티션에 물리 볼륨을 생성하는 것은 옳은 일이 아닙니다. 나는 무언가를 할 이유를 생각할 수 없기 때문에 그렇게 할 이유가 없다는 의미를 취하기 때문에 "거의"라고 말합니다. 즉, LVM이 될 경우 디스크 공간의 100 %에 파티션을 배치해야하는 단일 이유를 생각할 수 없습니다.

파티셔닝의 강성을 다시 얻는 대가로 눈에 띄는 이점을 얻지 못하고 있습니다. SAN 기반 물리 볼륨 인 경우 볼륨 그룹에서 스토리지 공간을 확장하는 방법은 두 가지뿐입니다.

  1. 더 큰 새로운 LUN을 제공하고 볼륨 그룹에 추가 한 후, pv 션을 분할 할 수없는 LUN을 pvmove하고 볼륨 그룹에서 제거하고 SAN 담당자에게이를 표시하지 않도록 지시하십시오. 작동 할 수 있고 온라인으로 수행 할 수 있으며 (성능이 저하되고 SAN 측 스토리지 풀에 SAN 공간이 충분하여이 두 LUN을 동시에 보유한다고 가정 할 경우) 가능합니다.
  2. 다른 방법은 파티션 처리로 돌아가는 것인데, 이는 사람들이 잘 설계된 볼륨 관리 체계 (btrfs, lvm, zfs 등)를 좋아하는 이유의 일부입니다. 물리 볼륨의 파티션 테이블을 편집 partprobe할 수 있고 새로운 크기를 읽을 수 있기를 바랍니다 .하지만 개인적인 경험으로는 2 시간 중 1 회 정도만 작동하므로 파일 시스템을 마운트 해제해야합니다 (즉, 다른 이유로 사람들을 오프라인 으로 전환 해야 함). 볼륨 관리자와 같은).

전체 디스크를 사용하는 경우 SAN 관리자가 LUN을 확장 할 수 있고 SCSI 버스를 다시 스캔 한 후 새로운 LUN 크기를 선택한 다음 pvresize물리적 볼륨을 확장하기 위해 a 를 수행합니다 . 파일 시스템을 오프라인으로 만들지 않아도됩니다.

MBR 비트를 제거하면 일반적으로 한 시스템에서 PV를 가져와 엔터프라이즈 환경에서 다른 시스템으로 PV를 제공하지 않습니다. 그렇게해도 LVM이라면 LVM을 지원하기 위해 LUN을 제공 할 OS를 원할 것입니다. 그렇지 않으면 그들에게 그것을 제시하는 요점은 무엇입니까? 이 경우 모든 물리 볼륨 정보, 볼륨 그룹 정보 및 논리 볼륨이 표시됩니다 (볼륨 그룹의 유일한 PV라고 가정). 그런 식으로 자체 문서화합니다.

기본적으로 전체 디스크를 100 %로 분할하는 것은 사과 파이를 가져온 웨이터에게도 칼을 가져와야한다는 요구와 같습니다. 그가 칼을 옆으로 던지고 얼굴을 파이에 묻습니다. 의미 : 도구를 한 번에 모두 사용하려는 경우 도구를 작은 조각으로 나눌 것을 주장하는 것은 의미가 없습니다.


2
이론적으로는 틀리지 않습니다. 실제로 OS 및 설치 프로그램 (예 : Linux)과 같은 일상적인 문제는 LVM을 인식하지 못하기 때문에이 무료 디스크를 포맷하도록 제안합니다. 동시에, 파티션 사용에 대한 단점 (성능 측면)은 없습니다. 따라서 가정 사용자, 데스크탑, 다중 OS 환경에서 파티션을 고수하는 것이 더 안전합니다.
frostschutz

설치 프로그램 자체의 문제는 보지 못했습니다. 커널은 pvscan부팅 할 때와 동일하게 수행 되므로 설치 프로그램 디스크의 커널은 LVM 헤드를 찾는 모든 블록 장치를 스캔해야합니다. 아마도 공급 업체가 설치 프로그램에 문제가 있다고 설명하는 사람에게 버그를 신고 할 수 있습니다. 홈 설치의 경우 루트 파일 시스템이 기본 디스크를 / boot 용으로 분할 할 두 디스크에 걸쳐 있고 커널이로드 될 때 볼륨 스캔을 수행하는 경우에도 문제는 동일합니다. 이것이 바로 LVM으로 부팅 할 수있는 방법입니다.
Bratchley

그러나 단점은 BIOS 외부의 파티션과 grub 지원 (따라서 / boot)의 이점이 없다는 것입니다. 가정용 사용자도 마찬가지입니다. 혜택도 거의 없습니다 (HDD가
커지지

고마워요 :)이 토론은 정말 도움이되었습니다.
MacGyver

0

내 경험상, 디스크 / 스토리지를 사용할 수없는 소규모 환경을 테스트하는 경우 파티션을 사용하는 것이 좋습니다. 학교 나 차고에서 일하는 것이 좋습니다. 실제 환경에서는 필요할 때 디스크를 확장 할 수있는 가상 서버를 사용하여 LVM이 파티셔닝 대신 원시 / 전체 디스크를 관리하도록하는 것이 좋습니다. 서버를 재부팅하지 않고도 쉽고 유연하게 관리 할 수 ​​있습니다. 시간이 얼마나 절약되는지 아십니까? 관리해야 할 모든 서버에 대해 곱하십시오! 여러 번, 파티션 / 슬라이스로 인해 커널이 새 테이블을 인식하지 못할 수 있으므로 서버를 다시 부팅해야하는 문제가 있습니다. 원시 디스크 / 가상 디스크를 LVM에 추가 할 때 원시 디스크를 사용하여 파일 시스템 LVM을 확장해야 할 때가 좋습니다. "echo 1>과 같은 간단한 명령을 실행하여 / sys / block / XXX / device / rescan”여기서 XXX는 디스크 (sdb, sdc, sdd 등)에서 디스크를 재부팅하지 않고 디스크를 다시 스캔하여 추가 공간을 확보합니다. 파일 시스템을 즉시 확장 할 수 있습니다. 리눅스 서버를 재부팅하지 않고 디스크를 확장하려면 5 분의 시간이 필요합니다. 파티션 된 디스크를 사용하면이 프로세스가 복잡해집니다


1
귀하의 답변은 LVM에 전체 디스크 할당보다는 VM 사용의 장점에 더 집중하는 것 같습니다.
roaima

@roaima : 좋아, 내 눈은 실패하고있다. 이 답변은 VM에 대해 어디에 있습니까?
G-Man, 'Reinstate

1
@ G-Man 전체는 VM에 스토리지를 추가 한 다음 재부팅 없이도 VM 자체에서 LVM을 사용하여 새로 할당 된 디스크를 슬라이스 할 수있게하는 것입니다.
roaima
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.