Pada server DL380p gen8 menggunakan XFS di atas LVM di atas serangan 1 + 0 dengan 6 disk, beban kerja yang identik menghasilkan peningkatan sepuluh kali lipat pada disk yang menulis di RHEL 6 dibandingkan dengan RHEL 5, membuat aplikasi tidak dapat digunakan.
Perhatikan bahwa saya tidak melihat mengoptimalkan sistem co6 sebanyak mungkin, tetapi memahami mengapa co6 berperilaku sangat berbeda, dan menyelesaikannya.
vmstat / iostat
Kami memiliki pengaturan replikasi MySQL, menggunakan mysql 5.5. Budak Mysql di server gen8 menggunakan RHEL 6 karena OS berkinerja buruk, inspeksi dengan vmstat dan iostat menunjukkan bahwa server ini melakukan sepuluh kali aktivitas keluar halaman dan sepuluh kali jumlah penulisan ke subsistem disk. blktrace menunjukkan bahwa penulisan ini tidak diawali oleh mysql, tetapi oleh kernel.
Centos 5:
[dkaarsemaker@co5 ~]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 12 252668 102684 10816864 0 0 8 124 0 0 9 1 90 0 0
1 0 12 251580 102692 10817116 0 0 48 2495 3619 5268 6 1 93 0 0
3 0 12 252168 102692 10817848 0 0 32 2103 4323 5956 6 1 94 0 0
3 0 12 252260 102700 10818672 0 0 128 5212 5365 8142 10 1 89 0 0
[dkaarsemaker@co5 ~]$ iostat 1
Linux 2.6.18-308.el5 (bc290bprdb-01.lhr4.prod.booking.com) 02/28/2013
avg-cpu: %user %nice %system %iowait %steal %idle
8.74 0.00 0.81 0.25 0.00 90.21
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
cciss/c0d0 277.76 399.60 5952.53 2890574849 43058478233
cciss/c0d0p1 0.01 0.25 0.01 1802147 61862
cciss/c0d0p2 0.00 0.01 0.00 101334 32552
cciss/c0d0p3 277.75 399.34 5952.52 2888669185 43058383819
dm-0 32.50 15.00 256.41 108511602 1854809120
dm-1 270.24 322.97 5693.34 2336270565 41183532042
avg-cpu: %user %nice %system %iowait %steal %idle
7.49 0.00 0.79 0.08 0.00 91.64
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
cciss/c0d0 300.00 32.00 4026.00 32 4026
cciss/c0d0p1 0.00 0.00 0.00 0 0
cciss/c0d0p2 0.00 0.00 0.00 0 0
cciss/c0d0p3 300.00 32.00 4026.00 32 4026
dm-0 0.00 0.00 0.00 0 0
dm-1 300.00 32.00 4026.00 32 4026
avg-cpu: %user %nice %system %iowait %steal %idle
4.25 0.00 0.46 0.21 0.00 95.09
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
cciss/c0d0 507.00 160.00 10370.00 160 10370
cciss/c0d0p1 0.00 0.00 0.00 0 0
cciss/c0d0p2 0.00 0.00 0.00 0 0
cciss/c0d0p3 507.00 160.00 10370.00 160 10370
dm-0 0.00 0.00 0.00 0 0
dm-1 507.00 160.00 10370.00 160 10370
avg-cpu: %user %nice %system %iowait %steal %idle
5.33 0.00 0.50 0.08 0.00 94.09
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
cciss/c0d0 318.00 64.00 4559.00 64 4559
cciss/c0d0p1 0.00 0.00 0.00 0 0
cciss/c0d0p2 0.00 0.00 0.00 0 0
cciss/c0d0p3 319.00 64.00 4561.00 64 4561
dm-0 0.00 0.00 0.00 0 0
dm-1 319.00 64.00 4561.00 64 4561
Dan pada Centos 6 peningkatan sepuluh kali lipat dalam paged out dan disk menulis:
[root@co6 ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 361044 52340 81965728 0 0 19 1804 36 110 1 1 98 0 0
0 0 0 358996 52340 81965808 0 0 272 57584 1211 3619 0 0 99 0 0
2 0 0 356176 52348 81966800 0 0 240 34128 2121 14017 1 0 98 0 0
0 1 0 351844 52364 81968848 0 0 1616 29128 3648 3985 1 1 97 1 0
0 0 0 353000 52364 81969296 0 0 480 44872 1441 3480 1 0 99 0 0
[root@co6 ~]# iostat 1
Linux 2.6.32-279.22.1.el6.x86_64 (bc291bprdb-01.lhr4.prod.booking.com) 02/28/2013 _x86_64_ (32 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.08 0.00 0.67 0.27 0.00 97.98
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 373.48 1203.02 115203.05 11343270 1086250748
dm-0 63.63 74.92 493.63 706418 4654464
dm-1 356.48 1126.72 114709.47 10623848 1081596740
avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.19 0.06 0.00 99.50
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 330.00 80.00 77976.00 80 77976
dm-0 0.00 0.00 0.00 0 0
dm-1 328.00 64.00 77456.00 64 77456
avg-cpu: %user %nice %system %iowait %steal %idle
0.38 0.00 0.19 0.63 0.00 98.81
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 570.00 1664.00 128120.00 1664 128120
dm-0 0.00 0.00 0.00 0 0
dm-1 570.00 1664.00 128120.00 1664 128120
avg-cpu: %user %nice %system %iowait %steal %idle
0.66 0.00 0.47 0.03 0.00 98.84
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 317.00 448.00 73048.00 448 73048
dm-0 34.00 0.00 272.00 0 272
dm-1 309.00 448.00 72776.00 448 72776
Mempersempit
Server Gen 8 menggunakan RHEL 5, dan server gen 7 menggunakan RHEL 5 atau 6 tidak menunjukkan masalah ini. Lebih jauh lagi, RHEL 6 dengan ext3 sebagai filesystem alih-alih xfs default kami tidak menunjukkan masalah. Masalahnya sepertinya berada di suatu tempat antara XFS, gen8 hardware dan centos 6. RHEL 6 juga menunjukkan masalahnya.
Sunting 29/04: kami menambahkan qlogic HBA t the G8 machine. Menggunakan XFS pada penyimpanan saluran serat tidak menunjukkan masalah. Jadi sudah pasti di suatu tempat dalam interaksi antara xfs / hpsa / p420i.
XFS
XFS terbaru di rhel 8 tampaknya dapat mendeteksi lebar garis yang mendasarinya, tetapi hanya pada pengontrol p420i yang menggunakan driver hpsa, bukan pengontrol p410i yang menggunakan cciss.
output xfs_info:
[root@co6 ~]# xfs_info /mysql/bp/
meta-data=/dev/mapper/sysvm-mysqlVol isize=256 agcount=16, agsize=4915136 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=78642176, imaxpct=25
= sunit=64 swidth=192 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=38400, version=2
= sectsz=512 sunit=64 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
sunit / swidth keduanya 0 di semua pengaturan ditandai sebagai OK di atas. Kami tampaknya tidak dapat mengubah ini, baik dalam mkfs atau dengan opsi mount noalign. Kami juga tidak tahu apakah ini penyebabnya.
Hugepages
Orang lain yang mengalami masalah XFS pada rhel 6, mengatakan bahwa menonaktifkan hugepage, dan khususnya hugepage transparan dapat bermanfaat. Kami menonaktifkan keduanya, masalahnya tidak hilang.
Kami sudah mencoba dan mengamati banyak hal, tidak ada yang berikut yang membantu:
- Menggunakan numactl untuk memengaruhi alokasi memori. Kami perhatikan bahwa g7 dan g8 memiliki tata letak numa yang berbeda, tidak ada efek yang terlihat
- Kernel yang lebih baru (sama baru dengan 3.6) tampaknya tidak menyelesaikan ini. Juga tidak menggunakan fedora 17.
- iostat tidak melaporkan peningkatan sepuluh kali lipat dalam transaksi tulis, hanya dalam jumlah byte yang ditulis
- Menggunakan penjadwal I / O yang berbeda tidak berpengaruh.
- Memasang noatime / nobarrier / nopdiratime filesystem yang relevan tidak membantu
- Mengubah / proc / sys / vm / dirty_ratio tidak berpengaruh
- Ini terjadi baik pada sistem berbasis 2640 dan 2670 CPU
- hpsa-3.2.0 tidak memperbaiki masalah
mkfs.xfs
danmount
opsi Anda. EL6 sadar akan penyelarasan partisi. HPSA akan digunakan untuk kedua jenis kontroler Smart Array di bawah EL6, tetapi EL5 akan menggunakan CCISS.Jawaban:
XFS dan EL6 telah jatuh ke keadaan jelek ... Saya telah meninggalkan XFS pada sistem EL6 untuk sementara waktu karena beberapa fitur hulu / perubahan menyelinap ke dalam kernel Red Hat ...
Yang ini mengejutkan dan menyebabkan kepanikan: Mengapa filesystem XFS saya tiba-tiba menghabiskan lebih banyak ruang dan penuh dengan file yang jarang?
Sejak November 2012, pengiriman versi XFS di kernel lebih baru daripada
2.6.32-279.11.1.el6
memiliki beban yang mengganggu dan masalah kinerja yang berasal dari Red Hat Bugzilla 860787 . Sejak itu, saya memiliki kinerja yang tidak dapat diprediksi dan menjalankan antrian yang lebih tinggi daripada rata-rata.Untuk sistem baru, saya menggunakan ZFS atau hanya ext4. Untuk sistem yang lebih lama, saya membekukannya
2.6.32-279.11.1.el6
.Coba putar kembali ke versi itu dengan:
Selain hal di atas, karena jenis pengontrol RAID yang Anda gunakan, pengoptimalan tipikalnya adalah:
Pasang sistem file XFS Anda
noatime
. Anda juga harus memanfaatkan kerangka kerja yang disetel dengan:untuk mengatur readahead, nobarrier dan I / O lift ke baseline yang baik.
Edit:
Ada banyak rekomendasi seputar optimasi sistem file XFS. Saya telah menggunakan sistem file secara eksklusif selama dekade terakhir dan harus sesekali menyesuaikan parameter ketika perubahan mendasar pada sistem operasi terjadi. Saya belum mengalami penurunan kinerja yang dramatis seperti milik Anda, tetapi saya juga tidak menggunakan LVM.
Saya pikir itu tidak masuk akal untuk mengharapkan EL5 untuk bertindak dengan cara yang sama seperti EL6 , mengingat generasi kernel yang berbeda, default yang disusun, penjadwal, paket, dll.
Apa yang akan saya lakukan pada titik ini ??
Saya akan memeriksa parameter mkfs.xfs dan bagaimana Anda membangun sistem. Apakah Anda menggunakan partisi XFS selama instalasi atau membuat partisi setelah fakta? Saya melakukan pembuatan sistem file XFS setelah instalasi OS utama karena saya memiliki lebih banyak fleksibilitas dalam parameter yang diberikan.
Parameter pembuatan mkfs.xfs saya sederhana:
mkfs.xfs -f -d agcount=32 -l size=128m,version=2 /dev/sdb1
misalnya.My opsi untuk mount adalah:
noatime,logbufs=8,logbsize=256k,nobarrier
Saya akan memungkinkan XFS dinamis preallocation untuk berjalan secara native dan tidak membatasi itu seperti yang ada di sini. Kinerja saya meningkat dengan itu.Jadi saya tidak menggunakan LVM . Terutama di atas RAID perangkat keras ... Terutama pada pengontrol Smart Array HP, di mana ada beberapa fungsi mirip LVM yang asli pada perangkat. Namun, menggunakan LVM, Anda tidak memiliki akses ke
fdisk
untuk pembuatan partisi mentah. Satu hal yang berubah dari EL5 ke EL6 adalah penyelarasan partisi di installer dan perubahan ke fdisk untuk mengatur sektor awal pada batas silinder.Pastikan Anda menjalankan pengontrol dan drive HP Smart Array Anda pada level revisi saat ini. Pada titik itu, masuk akal untuk memperbarui seluruh server ke Paket Layanan HP saat ini untuk revisi firmware ProLiant . Ini adalah DVD yang dapat di-boot yang akan memutakhirkan semua komponen yang terdeteksi dalam sistem.
Saya akan memeriksa pengaturan pengontrol RAID. Pastebin output dari
hpacucli ctrl all show config detail
. Ini milik saya. Anda ingin rasio cache bias terhadap menulis dibandingkan membaca. 75:25 adalah norma. Ukuran strip default 256K harus baik untuk aplikasi ini.Saya berpotensi mencoba ini tanpa LVM.
Apa
sysctl.conf
parameter Anda ?sumber
Kami memiliki masalah yang sama, dan menemukan itu karena perubahan versi log XFS. Versi 2 log menghormati set lebar garis yang digunakan dengan mkfs.xfs. Jika Anda melakukan banyak fsync, kartu raid Anda tidak dapat lagi memalsukan log-log itu. Anda dapat mengujinya dengan memformat partisi tanpa pengaturan swidth (tidak ada bedanya dengan RAID 1 + 0). Anda dapat memverifikasi itu dengan blktrace / seekwatcher untuk melihat apakah itu melibatkan banyak pembaruan log.
sumber
mkfs.xfs
string perintah Anda ?