ฉันมี HP Microserver ที่ใช้งาน Ubuntu 10.04 LTS มันเป็นเซิร์ฟเวอร์พลังงานต่ำที่มีช่องไดรฟ์ภายใน 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/
ซึ่งใช้เวลาประมาณครึ่งชั่วโมง
คำถามของฉันมีดังนี้การกำหนดค่าเซิร์ฟเวอร์และสถิติ IO บางอย่างมีรายละเอียดด้านล่าง แน่นอนฉันสามารถให้ข้อมูลการแก้ปัญหาเพิ่มเติมถ้าจำเป็น: -
ฉันจะระบุตำแหน่งของคอขวดได้อย่างไร
ฉันถึงขีด จำกัด ของความสามารถ (IO ฉลาด) พร้อมกล่องนี้หรือไม่?
การแสดงใดที่ฉันสามารถทำได้
ฉันควรใช้ระดับ RAID อื่นหรือไม่
มันจะเหมาะสมไหมที่จะสลับสองดิสก์ RAID ภายใน (ครึ่งหนึ่งของแต่ละมิรเรอร์) กับ 'อีกครึ่งหนึ่งของอีกมิเรอร์' ในอาร์เรย์ภายนอก
หมายเหตุ: ฉันค่อนข้างไม่เอนเอียงที่จะทำสิ่งต่าง ๆ เช่นการรวบรวมเคอร์เนลของฉันเอง โดยหลักการแล้วฉันต้องการติดกับ 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
ดิสก์ 2TB ภายในสี่ตัวอยู่ในการตั้งค่าซอฟต์แวร์ MD RAID10: -
md0 : active raid10 sdg1[3] sdh1[0] sdi1[2] sdf1[1]
3907023872 blocks 64K chunks 2 near-copies [4/4] [UUUU]
นอกจากนี้ฉันยังมีกล่องไดรฟ์ภายนอก EDGE10 ซึ่งเชื่อมต่อผ่านการ์ด PCI-E eSATA และมีไดรฟ์อีกสี่ 500GB: -
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)
เมื่อทำคำสั่ง cp ระหว่าง rsnapshot ฉันเห็นสิ่งต่อไปนี้ใน 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 มากนักดังนั้นฉันไม่แน่ใจว่าการแยกพวกมันเป็นตัวเลือกในขณะนี้