LVM VG 및 LV를 생성하려고 하는데 LV가 정렬되지 않았습니다.
이것이 나의 시작 위치입니다:
% lsblk -t /dev/sdd
NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
sdd 0 4096 33553920 4096 512 1 mq-deadline 60 128 32M
├─sdd1 0 4096 33553920 4096 512 1 mq-deadline 60 128 32M
├─sdd2 0 4096 33553920 4096 512 1 mq-deadline 60 128 32M
└─sdd3 0 4096 33553920 4096 512 1 mq-deadline 60 128 32M
s 는 ALIGNMENT
모두 0
(올바릅니다)입니다.
위에서 sdd2
VG를 만든 test
다음 LV를 만들었습니다 align-me
.
% sudo vgcreate --pvmetadatacopies 2 --vgmetadatacopies 2 test /dev/6TBd1p2
Physical volume "/dev/6TBd1p2" successfully created.
Volume group "test" successfully created
% sudo lvcreate -L 64g -n align-me test
Logical volume "align-me" created.
그러나 ALIGNMENT
for가 test-align--me
잘못되었습니다.
% lsblk -t /dev/sdd
NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
sdd 0 4096 33553920 4096 512 1 mq-deadline 60 128 32M
├─sdd1 0 4096 33553920 4096 512 1 mq-deadline 60 128 32M
├─sdd2 0 4096 33553920 4096 512 1 mq-deadline 60 128 32M
│ └─test-align--me -1 4096 0 4096 512 1 128 128 32M
└─sdd3 0 4096 33553920 4096 512 1 mq-deadline 60 128 32M
또한 다음 로그 메시지가 표시됩니다(4회 반복).
kernel: device-mapper: table: 254:6: adding target device sdd2 caused an alignment inconsistency: physical_block_size=4096, logical_block_size=512, alignment_offset=0, start=33553920
나는 그것을 and vgcreate
로 불렀지 만 결과 는 같습니다.--dataalignmentoffset 4k
--dataalignment
1m
4m
나는 뛰고있어:
LVM version: 2.02.182(2) (2018-10-30)
Library version: 1.02.152 (2018-10-30)
Driver version: 4.39.0
답변1
징후
외관
lsblk -t
OPT-IO
은 정말 매우 높습니다 (Frost Schutz가 지적함)smartctl
디스크에서 실행하면 다음이 표시됩니다.Read Device Identity failed: scsi error unsupported field in scsi command
이유
-1
최적의 IO 값을 읽을 수 없는 경우 반환되는 것으로 보입니다.
~처럼스티브 디가 지적했다.:
- 33553920 / 512(논리 섹터 크기) = 65535
- -1은 16비트 값으로 표현 = 65535입니다. (2 16 = 65536)
그런 다음 33553920
해당 값을 사용하여 다음과 같이 첫 번째 PE( )를 정렬합니다.pvcreate
vgcreate
pe_start
sudo pvs -o +pe_start --units b
해결책
전달된 --dataalignment 1m
값 vgcreate
은 pe_start
= 1048576B = 1MiB입니다.
이렇게 하면 pe_start
디스크 섹터가 정렬되지만 여전히 (잘못된) 정렬 오류 메시지가 인쇄됩니다.
근본 원인 수정
무인 항공 시스템 비활성화드라이브의 값이 OPT-IO
반환됩니다 0
(다른 디스크 드라이브와 일치). 또한 smartctl
드라이브에서 실행할 수도 있습니다.
--dataalignment 1m
이 수정 사항을 적용하면 통과가 필요하지 않습니다.