Ubuntu 10.04 LTS çalıştıran bir HP Microserver'ım var. 5 dahili sürücü bölmesine sahip düşük güçlü bir sunucudur. Uzak sunucularımı, VPS'leri ve yerel dizüstü bilgisayarlarımı ağ üzerinden yedeklemek için kullanıyorum. Disklerden en iyi performansı almak istiyorum, ancak en iyi şekilde ayarlanıp ayarlanmadığını bilmiyorum, bu yüzden bazı tavsiyeler arıyorum.
Sunucum uzaktaki ana bilgisayarları yedeklemek için günde birkaç kez rsnapshot çalıştırıyor. Gerçek artımlı yedek parça çok az zaman alır. Önemli zaman harcıyor: -
/bin/cp -al /srv/rsnapshot/hourly.0 /srv/rsnapshot/hourly.1
Bu yaklaşık 2 saat sürer. İçinde bazilyonlarca küçük dosya olduğunu fark ettim.
$ sudo du -hs hourly.1
659G hourly.1
Ayrıca rsnapshot eski bir yedeği sildiğinde, bu uzun zaman alabilir: -
/bin/rm -rf /srv/rsnapshot/daily.6/
Bu yaklaşık yarım saat sürer.
Sorularım aşağıdaki gibidir, sunucunun yapılandırması ve bazı IO istatistikleri aşağıda ayrıntılı olarak verilmektedir. Tabii gerekirse daha fazla hata ayıklama bilgi sağlayabilir: -
Darboğazların nerede olduğunu nasıl belirleyebilirim?
Bu kutu ile yetenekli olanların sınırlarına mı ulaşıyorum?
Yapabileceğim performans değişiklikleri var mı?
Farklı bir RAID seviyesi kullanmalı mıyım?
Dahili RAID disklerinden ikisini (her aynanın yarısı) harici dizideki iki 'diğer aynanın diğer yarısı' ile değiştirmek mantıklı olur mu?
Not: Kendi çekirdeğimi derlemek gibi şeyler yapmaya meyilli değilim. İdeal olarak, sonraki sürümlerde tüm bunların çok daha hızlı çalışmasını sağlayan sihir olmadıkça, 10.04 LTS'ye bağlı kalmak istiyorum.
Dahili olarak sunucunun 1x160GB SATA önyükleme diski ve 4x2TB diskleri vardır: -
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
Dört dahili 2 TB disk bir yazılım MD RAID10 kurulumundadır: -
md0 : active raid10 sdg1[3] sdh1[0] sdi1[2] sdf1[1]
3907023872 blocks 64K chunks 2 near-copies [4/4] [UUUU]
Ayrıca, PCI-E eSATA kartı ile bağlı ve 500GB'lık dört sürücü içeren harici bir EDGE10 sürücü kasası var: -
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
Bu aynı zamanda bir MD RAID10 dizisi olarak da kurulur
md1 : active raid10 sdb1[1] sda1[0] sdd1[3] sdc1[2]
976767872 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md0 ve md1, büyük bir LVM yapmak için birleştirilir. Not: Sadece son zamanlarda harici diziyi ekledim, bu yüzden oldukça boş, şu anda üzerinde herhangi bir blok olduğunu düşünmüyorum.
Bu bir LVM hacmi olarak sunulur:
--- 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 olarak biçimlendirilmiş ve / srv olarak monte edilmiştir: -
/dev/mapper/data-data on /srv type ext4 (rw)
Bol miktarda boş alan var.
/dev/mapper/data-data
4.5T 2.2T 2.1T 51% /srv
Yararlı olabilecek diğer bilgiler: -
$ 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 sırasında cp komutu yaparken iostat'ta aşağıdakileri görüyorum: -
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
Temelde çok sayıda yazar, bol miktarda IO bekleyin.
Şu an kutu boşta, tüm işleri askıya aldım.
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
Şeftali gibi görünüyor!
$ 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++
her dizide ayrı bir şey çalıştırmayı öneriyorum , böylece onlar için temel hız kriterleri var. LVM ile ilgili çok fazla deneyimim yok, bu yüzden onları ayırmanın bir seçenek olduğundan emin değilim.