Donanım

esxi disk format

0

Windows komut satırı açılır ve sırasıyla aşağıdaki komutlar çalıştırılır.
diskpart
list disk
select disk xx
clean
create partition primary
select partition 1
active
format quick fs=fat32
assign

Sunucularda RAID yaparken strip size seçimi.

0

Raid strip size nedir?

Strip size raid kontrolcusünün kendisine gönderilen veriyi disklere yazarken veya kendisinden istenen veriyi disklerden okurken veriyi böldüğü boyuttur. Bu boyut aslında raid yapılırken performansı en çok etkiliyen faktördür. Birçok raid kartında 4KB – 8KB – 16KB …. – 1024KB seçimleri mevcuttur.

Disk IOPS

Disklerin saniyede yapabildiği işlem sayısına IOPS denir. Bu değer okuma için farklı, yazma için farklı bir değerdir. Aynı zamanda RAID strip size’a görede değişkenlik gösterir. Disklerin MB cinsinden okuma ve yazma değerlerinin hosting-vps-vds hizmetlerinde IOPS’a nazaran önemi çok daha azdır.

Örneğin 400 IOPS yazmaya sahip bir diskiniz var ve bu disk saniyede ortalama 80MB yazma yapabiliyor. 4KB’lık 400 tane random access veri yazılmak isteniyor, saniyede 100 IOPS olduğu için yazılabilecek veri 4KB x 400 = 1600KB olacaktır, buda 80MB ortalama yazma hızından çok daha düşük bir hız olacaktır. Yine başka bir örnekte 1MB’lık 100 tane veri diske yazma için gönderilirse 1MB x 100 = 100MB olacak ve büyük ihtimalle diskin yazma bant genişliğine takılacaktır. Ufak boyuttaki dosyalar ve bu dosyalar ile ilgili işlemler çok daha fazla olduğu için okuma/yazma hızları doğru bir gösterge olmaktan çıkmaktadırlar.

Veri boyutunun önemi ve random access

Hosting için kullanılan bir sunucu, binlerce farklı dosya, bir sürü farklı boyutta, farklı zamanlarda ihtiyaç duyuluyor. Random Access time denilen diskler için verilen ortalama süre tamamen göz boyamaktadır. Hiçbir benchmark size doğru süreyi vermez. Genelde benchmark testleri sabit boyuttaki bir veriyi diskin farklı yerlerinden okuyup farklı yerlerine yazmaya çalışırak bir ms cinsinden değer verir. Halbuki hosting ve sanallaştırma amaçlı sunucularda çekilmek istenen verinin boyutu sürekli farklılık göstermektedir. Örneğin wordpress bir sitede birçok ufak kod dosyası ve resim vardır. Fakat video hosting veya upload-download sunucularında çok daha büyük dosyalar bulunmaktadır. Ortalama dosya boyutlarınızı bilmeniz diskleri verimli kullanmanız açısından çok önemlidir.

Strip Size nasıl çalışır veya nerede performans kaybına sebep olur?

Örneğin 4KB strip size ile iki diski RAID0 yaptınız. 8KB’lık bir veri yazmak istediğinizde raid kontrolcusü bunu 4KB’lık 2 parçaya böler ve iki diske ayrı ayrı yazar. Aynı şekilde 8KB’lık aynı veriyi okumak istediğinizde iki farklı diske yazdığı için iki farklı diskten geri çeker. Fakat 1024KB’lık bir dosya yazmaya kalktığınızda RAID kartı bunu 256 adet 4KB’lık parçaya böler ve 128-128 iki diske yazmaya çalışır buda oldukça fazla zaman alır. Aslında veri yazma süresi zaman almaz, sabit disklerin içindeki plakaların üzerindeki doğru odacığa yine sabit disklerin içinde kafaların denk getirilmesi için geçirilen süre uzun bir süredir.

128-128 olarak 256 parçaya bölünmüş 1024KB’lık bir veriyi 4KB strip size ile yazmaya kalkıyoruz. raid kontrolcusü veriyi sabit diske yazılması gereken odacığı belirterek gönderir. Sabit disk plaka üzerindeki odacığa disk kafasının denk gelmesini bekler ve denk gelir gelmez yazma işlemini yapar ardından raid kontrolcusünden gelen diğer verinin işleme alınması ile kafanın yeri tekrar ayarlanır. Her bir kafanın yer değiştirmesi ve plakadaki doğru yer ile senkronizasyonu zaman kaybıdır. O yüzden 4KB’lık strip size büyük bir dosya yazımında ciddi zaman kaybı yaratır.

Bu sefer tersini düşünürsek 512KB strip size boyutumuz olsun. Yine iki diskimiz RAID0 bağlı olsun. 256KB’lık bir veri yazılmak istendiğinde bu boyut strip size boyutunu geçmediği için bütün veri sadece bir diske yazılır. Yani RAID0 yapmış olmanıza rağmen bu veri sadece bir diske yazılır ve bir diskten çekilir. Buda RAID yapmış olmanız ile yapmamış olmanız arasında hiçbir fark yaratmamış olur, yani teorik olarak 2 katı okuma-yazma almanız gerekirken tek diskin okuma yazmasını almış olursunuz. Yani büyük strip size ufak dosyaların barındırıldığı bir ortamda %50′ye kadar performans kayıplaına sebep olabilir.

Hangi strip size ne zaman seçilmeli?

İşte burası sunucunuzu ve barındırılan içeriyi ne kadar iyi bildiğiniz ile alakalı.

  • Up-Down Dedicated/Virtual sunucular: Bu sunucularda dosya boyutları çok büyüktür. RAID0-5-10 gibi çözümlerde 512/1024KB strip size seçimi çok yerinde olacaktır. Dosya boyutları onlarca hatta yüzlerce MB olduğu için büyük strip size ile RAID kartı daha az yorulacak, disklerin random access oranları düşürüldüğü için ortalama IOPS miktarı artmış olacaktır.
  • Video Hosting: Bu tamamen verilerin boyutları ile alakalıdır. 2-3MB’lık videoların barındırıldığı bir ortamda 256KB strip size yeterli olacaktır, eğerki aynı ortamda resim,kod vb. veriler yoksa 512KB’ada çıkarılabilinir. Disk sayısıda bu seçimde önemli rol oynar. 4 disk ile RAID 10 yaptığınızda verilerin 2′ye bölünmesine yetercek maksimum büyüklüğü seçebilirsiniz, fakat 4 disk ile RAID0 yaparsanız bu sefer verilerin 4′e bölünmesine yetecek maksimum strip size’ı seçmelisiniz. 1.2MB’lık bir video dosyası 512KB strip size ile 4 disk RAID0 arraye yazılmak istendiğinde maksimum 3′e bölünebileceği için 3 diske yazılacaktır ve %25 performans kaybı yaşamanıza sebep olacaktır.
  • DB ağırlıklı hosting: CMS,Forum vb. db ağırlıklı hostinglerde strip size seçimi ufak olmalıdır. Ne kadar ufak olduğu tamamen ortalama veri boyutuna bağlıdır. Mysql tarzındaki veritabanları 4KB’lık okuma, yazma emirleri yaptığı için veritabanlarında strip size önemini yitirmektedir. Sonuçta her halükarda her bir istek tek bir diske isabet edecektir. Aslında sırf ufak boyutta istekler yaptığı için Mysql veritabanları diskleri ve raid kartlarını aşırı yorarlar, bu yüzden bunların ayrı bir SSD’ye alınması ve orada barındırılması mekanik disklerin üzerinden aşırı yükü kaldıracak, ve size karşılığında performanstan ödün vermeden satış yapabileceğiniz ciddi bir stok alanı açılacaktır.
  • Raid kabusu epostalar: Maleysef raidin en büyük problemi epostalardır. Boyutları, adetleri belli değildir, her türden boyutta yazma ve okuma isteğine sebep olabilmektedirler. Strip size seçimi için tam bir kabustur.

Eğer çok diskli bir platformunuz varsa yukardaki kategorileri farklı raid arraylere ayırarak her raid arrayede kullanıma uygun strip size belirliyerek ciddi miktarlarda performans kazanımı elde edebilirsiniz. Yada kategorileri farklı sunuculara ayırarak yine aynı kazanımı elde edebilirsiniz. Aranızda farklı sunucularında farklı türde yükler barındıran arkadaşlar mevcut, fakat bunu hiç yapmamış, karma olarak hosting açmış firmalarda mevcut. Evet bütün bu ayrımı mevcut stok üzerinde veya yeni gelecek müşteriler için yapmak çok büyük bir külfetmiş gibi gelebilir fakat emin olunki performans kazanımı, problemlerdeki azalma, fazladan açılacak stok alanı, disk kaynaklarının yetersizliği yüzünden diğer kaynaklardaki tüketimlerin ortadan kalkması gibi gelişmeler buna değecektir.

Murat ÖZSAYGILI

Go to Top