Ubuntu 10.04 LTS를 실행하는 HP Microserver가 있습니다. 내부 드라이브 베이가 5 개인 저전력 서버입니다. 네트워크를 통해 원격 서버, VPS 및 로컬 랩톱을 백업하는 데 사용합니다. 디스크에서 최상의 성능을 얻고 싶지만 최적으로 설정되었는지 모르겠으므로 조언을 찾고 있습니다.
내 서버는 원격 호스트를 백업하기 위해 하루에 여러 번 rsnapshot을 실행합니다. 실제 증분 백업 부분은 시간이 거의 걸리지 않습니다. 중요한 시간은 다음과 같은 일을하는데 소비됩니다.
/bin/cp -al /srv/rsnapshot/hourly.0 /srv/rsnapshot/hourly.1
약 2 시간이 걸립니다. 나는 거기에 작은 작은 파일이 있다는 것을 알고 있습니다.
$ sudo du -hs hourly.1
659G hourly.1
또한 rsnapshot이 오래된 백업을 삭제하면 시간이 오래 걸릴 수 있습니다.
/bin/rm -rf /srv/rsnapshot/daily.6/
약 30 분이 걸립니다.
내 질문은 다음과 같습니다. 서버 구성 및 일부 IO 통계는 아래에 자세히 설명되어 있습니다. 필요한 경우 더 많은 디버그 정보를 제공 할 수 있습니다.
병목 현상이있는 위치를 어떻게 식별 할 수 있습니까?
이 상자로 가능한 기능 (IO 현명한)의 한계에 도달하고 있습니까?
내가 할 수있는 성능 조정이 있습니까?
다른 RAID 레벨을 사용해야합니까?
내부 RAID 디스크 2 개 (각 미러의 절반)를 외부 어레이의 2 개의 '다른 미러의 다른 절반'으로 교체하는 것이 합리적입니까?
참고 : 내 커널을 컴파일하는 것과 같은 일을하는 경향이 다소 없습니다. 이상적으로는 10.04 LTS를 고수하고 싶습니다. 나중 버전 에서이 모든 것이 훨씬 빨리 작동하는 마술이 없다면.
내부적으로 서버에는 1x160GB SATA 부트 디스크와 4x2TB 디스크가 있습니다.
Disk /dev/sde: 160.0 GB, 160041885696 bytes
Disk /dev/sdf: 2000.4 GB, 2000398934016 bytes
Disk /dev/sdh: 2000.4 GB, 2000398934016 bytes
Disk /dev/sdi: 2000.4 GB, 2000398934016 bytes
Disk /dev/sdg: 2000.4 GB, 2000398934016 bytes
4 개의 내부 2TB 디스크는 소프트웨어 MD RAID10 설정에 있습니다.
md0 : active raid10 sdg1[3] sdh1[0] sdi1[2] sdf1[1]
3907023872 blocks 64K chunks 2 near-copies [4/4] [UUUU]
또한 PCI-E eSATA 카드를 통해 연결되고 500GB의 4 개 이상의 드라이브를 포함하는 외부 EDGE10 드라이브 인클로저가 있습니다.
Disk /dev/sda: 500.1 GB, 500107862016 bytes
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
Disk /dev/sdd: 500.1 GB, 500107862016 bytes
이것은 MD RAID10 어레이로도 설정됩니다
md1 : active raid10 sdb1[1] sda1[0] sdd1[3] sdc1[2]
976767872 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md0과 md1은 하나의 큰 LVM을 만들기 위해 결합됩니다. 참고 : 최근에 외부 배열 만 추가 했으므로 거의 비어 있습니다. 지금 블록이 있다고 생각하지 않습니다.
이것은 LVM 볼륨으로 표시됩니다.
--- Logical volume ---
LV Name /dev/data/data
VG Name data
LV UUID amZCgU-sQLi-R363-dUFx-Bcdf-iwlt-ZNnDp8
LV Write Access read/write
LV Status available
# open 1
LV Size 4.54 TiB
Current LE 1190134
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 512
Block device 251:0
EXT4 형식이며 / srv로 마운트됩니다.
/dev/mapper/data-data on /srv type ext4 (rw)
여유 공간이 충분합니다.
/dev/mapper/data-data
4.5T 2.2T 2.1T 51% /srv
유용 할 수있는 기타 정보 :-
$ uname -a
Linux ubuntuserver 2.6.32-32-server #62-Ubuntu SMP Wed Apr 20 22:07:43 UTC 2011 x86_64 GNU/Linux
.
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode] (rev 40)
02:00.0 RAID bus controller: Silicon Image, Inc. SiI 3132 Serial ATA Raid II Controller (rev 01)
rsnapshot 중에 cp 명령을 수행 할 때 iostat에 다음이 표시됩니다.
avg-cpu: %user %nice %system %iowait %steal %idle
0.55 0.00 5.47 66.14 0.00 27.85
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.00 0.10 0.00 0.80 0.00 8.00 0.00 0.00 0.00 0.00
sdf 0.00 407.50 0.00 66.80 0.00 3790.40 56.74 124.86 1524.88 13.55 90.50
sdh 0.00 406.90 0.00 66.90 0.00 3790.40 56.66 92.89 1230.52 13.21 88.40
sdi 0.00 407.80 5.50 70.20 44.00 3824.00 51.10 113.83 1333.84 12.34 93.40
sdg 0.00 406.80 6.10 71.60 48.80 3827.20 49.88 64.32 787.68 11.69 90.80
md0 0.00 0.00 11.50 1484.60 92.00 11876.80 8.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 11.50 1484.70 92.00 11877.60 8.00 5331.18 471.91 0.63 94.70
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
기본적으로 많은 쓰기, 많은 IO 대기.
그래서 지금 상자가 유휴 상태이므로 모든 작업을 일시 중단했습니다.
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdf 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdi 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
복숭아처럼 보인다!
$ sudo hdparm -T -t /dev/sd[a-i]
/dev/sda:
Timing cached reads: 2532 MB in 2.00 seconds = 1265.95 MB/sec
Timing buffered disk reads: 270 MB in 3.02 seconds = 89.53 MB/sec
/dev/sdb:
Timing cached reads: 2516 MB in 2.00 seconds = 1258.07 MB/sec
Timing buffered disk reads: 264 MB in 3.02 seconds = 87.37 MB/sec
/dev/sdc:
Timing cached reads: 2442 MB in 2.00 seconds = 1220.80 MB/sec
Timing buffered disk reads: 272 MB in 3.00 seconds = 90.60 MB/sec
/dev/sdd:
Timing cached reads: 2520 MB in 2.00 seconds = 1259.64 MB/sec
Timing buffered disk reads: 272 MB in 3.02 seconds = 90.07 MB/sec
/dev/sde:
Timing cached reads: 2524 MB in 2.00 seconds = 1261.48 MB/sec
Timing buffered disk reads: 306 MB in 3.01 seconds = 101.56 MB/sec
/dev/sdf:
Timing cached reads: 2366 MB in 2.00 seconds = 1183.28 MB/sec
Timing buffered disk reads: 388 MB in 3.01 seconds = 128.88 MB/sec
/dev/sdg:
Timing cached reads: 2536 MB in 2.00 seconds = 1267.52 MB/sec
Timing buffered disk reads: 400 MB in 3.00 seconds = 133.12 MB/sec
/dev/sdh:
Timing cached reads: 2538 MB in 2.00 seconds = 1269.08 MB/sec
Timing buffered disk reads: 426 MB in 3.00 seconds = 141.90 MB/sec
/dev/sdi:
Timing cached reads: 2538 MB in 2.00 seconds = 1268.57 MB/sec
Timing buffered disk reads: 402 MB in 3.01 seconds = 133.69 MB/sec
bonnie++
각 어레이에서 같은 것을 실행 하여 기본 속도 벤치 마크를 제공하는 것이 좋습니다. LVM에 대한 경험이 많지 않으므로 이제 분리 할 수있는 옵션이 확실하지 않습니다.