otrdiena, 2007. gada 18. decembris

iscsi veiktspējas testi

ISCSI veiktspēja


ISCSI target serveris:
Debian
RAM 1GB
Disku sējums ir uz RAID5

ISCSI iniciators serveris:
Debian
RAM 4GB

Tīkls:
Komutēts 1Gbps tīkls ar HP2824 tīkla slēdžiem.

 iozone -i0 -i1 -c -e -a -n 1g -g 16g -y 2048 -s 2048 -q 8192 -f /media/iscsi



KB reclen write rewrite read reread
16777216 2048 83972 71509 60931 60629
16777216 4096 82253 68246 60910 60094
16777216 8192 81875 67894 59995 55304

jeb rakstīšanas ātrums 70-80 MB/s, lasīšanas ~58MB/s

Lokālā veiktspēja uz target servera RAID5 sējumu

KB reclen write rewrite read reread
16777216 2048 96276 92868 159914 156191
16777216 4096 96440 92326 159099 159674
16777216 8192 96378 91768 158523 156454

jeb rakstīšanas ātrums ~95 MB/s, lasīšanas - 158 MB/s

trešdiena, 2007. gada 12. decembris

Veiktspēja uz VMware serveriem

Šis rakstiņs piefiksēs dažādus rādītājus par procesoru veiktspēju, lai varētu salīdzināt dabīga un virtuāla servera darbu.

Testi tiek veikti uz dažādiem atšķirīgiem serveriem.
Vispirms tiek kompilēts Linux kodols ar noklusējuma uzstādījumiem uz dabīga servera, izmantojot dažādu procesu skaitu ("-j" atslēga), pēc tam to pašu kodolu kompilē uz šī servera uzstādītajiem VMware virtuālajiem serveriem, pie tam pēc iespējas mainot VMware virtuālo procesoru skaitu (1 vai 2 gab.).
VMWare'i tiek izmantota versija 1.04, tās darba diski ir vmdk faili, kas izvietoti uz software RAID sējumiem.
Veiktspēja tiek mērīta ar "time" komandu, jeb Linux avota direktorijā:
make distclean && make defconfig && time make -j X -s

Serveris 1.


RONIS
2 x Xeon 5355 (8 kodoli kopā), 16GB RAM
Debian etch amd64

Dabīga servera veikstpēja




time make -j 1
real 4m0.078s
user 3m35.649s
sys 0m31.570s

time make -j 2
real 2m3.208s
user 3m36.546s
sys 0m32.614s

time make -j 4
real 1m5.439s
user 3m39.446s
sys 0m31.754s

time make -j 8
real 0m44.018s
user 3m59.975s
sys 0m35.666s


Virtuālais serveris 1.1


GuestOS: Debian lenny amd64
Ar 2 virtuālajiem procesoriem (3,6 GB RAM)


time make -j 1
real 6m49.123s
user 5m0.223s
sys 2m26.881s

time make -j 2
real 3m53.364s
user 4m35.697s
sys 3m5.148s

time make -j 4
real 3m43.593s
user 4m44.926s
sys 2m42.890s


Virtuālais serveris 1.2



GuestOS: Debian lenny 386, RAM - 3,6GB
=================================
Ar 1 virtuālo procesoru

time make -j 1
real 5m18.276s
user 0m52.579s
sys 4m24.633s

time make -j 2
real 5m18.756s
user 0m51.075s
sys 4m27.485s

time make -j 4
real 5m19.280s
user 0m51.811s
sys 4m27.301s


Ar 2 virtuālajiem procesoriem

time make -j 1
real 5m22.453s
user 3m9.300s
sys 2m16.645s

time make -j 2
real 2m54.757s
user 3m2.715s
sys 2m27.409s

time make -j 4
real 2m49.717s
user 3m2.815s
sys 2m29.781s


Serveris 2


VARIS
2 x Intel Xeon 2.66GHz (kopā 4 kodoli)
8GB RAM

Dabīga servera veiktspēja


 
time make -j 1
real 9m15.932s
user 8m27.072s
sys 0m56.960s

time make -j 2
real 5m3.304s
user 9m3.990s
sys 1m2.548s

time make -j 4
real 4m19.108s
user 13m21.490s
sys 1m19.309s

time make -j 8
real 4m18.359s
user 13m45.624s
sys 1m21.045s


Virtuālais serveris 2.1


Debian lenny 32 bit

1 virtuālais procesors

time make -j 1 -s
real 12m20.615s
user 3m58.927s
sys 8m20.719s

time make -j 2 -s
real 12m3.694s
user 3m52.575s
sys 8m10.319s

time make -j 4 -s
real 12m7.610s
user 3m52.359s
sys 8m14.147s

time make -j 8 -s
real 12m6.597s
user 3m53.319s
sys 8m12.459s


2 virtuālie procesori

time make -j 1 -s
real 7m9.543s
user 8m4.462s
sys 5m56.302s

time make -j 2 -s
real 7m26.477s
user 8m26.320s
sys 6m8.151s

time make -j 4 -s
real 7m10.003s
user 8m8.607s
sys 5m55.838s

time make -j 8 -s
real 7m18.864s
user 8m14.511s
sys 6m3.263s



Serveris 3


VALIS
AMD Opteron 250 (2 kodoli)
RAM: 8GB
OS Ubuntu Dapper

Dabīga servera veiktspēja


 time make -j 1
real 5m49.447s
user 5m11.100s
sys 0m36.170s

time make -j 2
real 3m7.241s
user 5m19.340s
sys 0m35.190s

time make -j 4
real 3m6.140s
user 5m20.350s
sys 0m35.740s

time make -j 8
real 3m6.512s
user 5m19.380s
sys 0m36.820s


Virtuālais serveris 3.2


Debian lenny 32 bit

1 virtuālais procesors

time make -j 1 -s
real 6m52.827s
user 1m13.129s
sys 5m39.209s

time make -j 2 -s
real 6m46.348s
user 1m11.096s
sys 5m34.809s

time make -j 4 -s
real 6m52.193s
user 1m14.281s
sys 5m37.449s

time make -j 8 -s
real 6m55.618s
user 1m14.313s
sys 5m40.849s


2 virtuālie procesori

time make -j 1 -s
real 3m44.982s
user 5m3.771s
sys 1m58.831s

time make -j 2 -s
real 3m41.705s
user 5m0.631s
sys 1m54.459s

time make -j 4 -s
real 3m40.798s
user 5m0.679s
sys 1m53.619s

time make -j 8 -s
real 3m41.744s
user 5m1.487s
sys 1m56.115s



Serveris 4


VERSIS
2xXeon 2,8 +HT
AMD Opteron 250 (2 kodoli)
RAM: 4GB
OS Ubuntu x86-64

Dabīga servera veiktspēja




==== 1 ============
real 9m21.767s
user 8m23.039s
sys 1m10.612s

==== 2 ============
real 4m53.194s
user 8m35.172s
sys 1m10.976s

==== 4 ============
real 4m6.506s
user 13m53.492s
sys 1m33.378s

==== 8 ============
real 4m8.880s
user 14m3.289s
sys 1m35.010s

pirmdiena, 2007. gada 10. decembris

RAID veiktspējas

Apkopošu šeit dažu man pieejamo serveru cieto disku veiktspējas programmatūras RAID'os n

Līdz šim nav sanācis iegūt labu veiktspēju RAID veiktspēju ar hardware RAID'iem un tos apsteidz progammatūras RAID'i.

Šis saraksts nekādi nepretendē uz kvalitatīvu pētījumu, bet ir domāts kā ieskats dažādu programmatūras RAID'u savstarpējā salīdzinājumā.

Veiktspēja tiek mērīta ar iozone , testa faila lielums = 2x RAM atmiņas lielums.

Serveri pamatā strādā uz Debian OS. RAID'i tiek veidoti ar noklusētajiem parametriem ar komandu mdadm. Visi sējumi tiek formatēti ar ext3 failu sistēmu.

Iozone komanda ir:
iozone -i0 -i1 -c -e -a -n 1g -g 16g -y 2048 -s 2048 -q 8192 -f /media/raidX/tmpfile



Serveris 1.


RAM: 8GB
Procesors: 2 x Intel Xeon 2,66 GHz

SCSI storage controller: LSI Logic / Symbios Logic SAS1064E PCI-Express Fusion-MPT SAS (rev 02)
3 x 73GB SAS diski (FUJITSU Model: MAX3073RC)

Rakstīšanas ātrums uz sākuma sējuma - 65MB, lasīšana ~ 80MB

RAID'iem izmantotie sējumi ir 60GB lieli un atrodas

RAID5



Programmatūras RAID5 (stripe set with parity) no 3 sējumiem;


KB reclen write rewrite read reread
16777216 2048 64290 62756 127831 145092
16777216 4096 60875 63600 149913 128595
16777216 8192 60329 65239 136654 149085


jeb rakstīšana ~ 62-63 MB/s, lasīšana ~ 139-140 MB/s
hmmm... Vajadzētu būt lielākam rakstīšanas ātrumam, arī nolasīšana varētu būt ātrāka

RAID0



Programmatūras RAID0 (stripe set) no 3 sējumiem:


KB reclen write rewrite read reread
16777216 2048 154394 128102 249265 200720
16777216 4096 163496 138319 194408 225419
16777216 8192 166613 117622 226446 247582


jeb rakstīšana ~128-161MB un lasīšana 239-240MB. Rezultāti apmierinoši, bet ir novērojams ļoti straujš veiktspējas samazinājums pie pārrakstīšanas (rewrite). Jāatzīmē, ka rakstīšanas un pārrakstīšanas ātrums pie faila izmēra, kas vienāds ar operatīvo atmiņas lielumu, ir ~ 175MB/s (un pie mazākiem testa faila izmēriem pārrakstīšana, protams, ir ātrāka un ir ~ 200MB/s)


Serveris 2.



RAM: 16 GB
Procesors: 2 x IntelXeon X5355 (2.66GHz)
SCSI storage controller: LSI Logic / Symbios Logic SAS1064E PCI-Express Fusion-MPT SAS (rev 04)
4 x 146GB 15k SAS diski (FUJITSU Model: MAX3147RC)

Rakstīšanas ātrums uz sākuma sējuma - ???MB, lasīšana ~ ???MB (ja nemaldos ~70-80MB)

RAID'iem izmantotie sējumi ir pa visu disku.

RAID0



Programmatūras RAID0 no 4 sējumiem
Sējums = 4 x 147 = 588 GB liels


KB reclen write rewrite read reread
33554432 2048 272929 246462 356589 360505
33554432 4096 272003 239118 359652 360772
33554432 8192 273092 224971 360500 360682


jeb rakstīšanas ātrums ~ 237-272 MB/s, lasīšanas - 359-360 MB/s - rezultāti teicami - maksimālā veiktspēja, diemžēl bez bojājumpiecietības.

RAID1



Programmatūras RAID1 (spogulis) no 2 sējumiem
no 4 sējumiem var uzbūvēt 2 spoguļus, katru 147 GB lielu


KB reclen write rewrite read reread
33554432 2048 63560 66897 89109 89108
33554432 4096 63152 67135 89091 89098
33554432 8192 64583 66674 89119 89084


jeb rakstīšanas ātrums ~ 64-67 MB/s, lasīšanas - 89 MB/s - rezultāti ir līdzīgi ar vienkārša sējuma veiktspēju.

RAID10



Programmatūras RAID10 ar 4 sējumiem
Apjoms 2 x 147 ~ 294 GB


KB reclen write rewrite read reread
33554432 2048 128738 132318 179708 179775
33554432 4096 130096 130713 179728 179607
33554432 8192 128415 134781 179840 179632


jeb rakstīšanas ātrums ~ 129-132 MB/s, lasīšanas - 179 MB/s - veiktspēja ir 2x ātrāka, kā RAID1 un 2x mazāka kā RAID0 - ļoti labi mērogojas.

RAID5



Programmatūras RAID5 ar 4 sējumiem
Apjoms 147 x 3 ~ 441 GB


KB reclen write rewrite read reread
33554432 2048 89080 89923 267805 268254
33554432 4096 88898 90062 268016 268378
33554432 8192 88224 90481 268047 268097


jeb rakstīšanas ātrums ~ 89-90 MB/s, lasīšanas - 268 MB/s - pieticīgs rakstīšanas ātrums, labs lasīšanas ātrums.


Serveris 3



Hardware RAID5
Kontrolieris - 3ware 9500 (bez BBU - write trough policy)
Diski - 6 x 250 GB SATA


KB reclen write rewrite read reread
16777216 2048 30977 29960 25984 24826
16777216 4096 28402 29729 25695 25014
16777216 8192 30090 28541 25465 24510


jeb rakstīšanas ātrums - 29MB, lasīšana - 25MB :(

pirmdiena, 2007. gada 26. novembris

Klonēšana Windows XP

Kā klonēt WindowsXP datorklasēm ar sysprep

Instalējam WindowsXP


Sainstalējam WindowsXP un nepieciešamās programmas uz avota datora. WXP atbilstoši licencēšanai ir jābūt ar Volume Key. Ļoti vēlams, lai datori būtu vienādi (vienādām mātesplatēm, videokartēm u.t.t.). Pēc datora klonēšanas vēlams defragmentēt disku.

Sysprep sagatavošana


Kad dators ir saklonēts:
  • lejupielādējam sysprep,
  • atpakojam to
  • rakstam sysprep.inf failu no labiem paraugiem vai laižam "Setup Manager" no atpakotā foldera. Būtiski ir ierakstīt pareizo ProductKey, lai tas nebūtu jāievada no jauna
  • sysprep.inf piemērs



;SetupMgrTag
[Unattended]
OemSkipEula=Yes
InstallFilesPath=C:\sysprep\i386
KeepPageFile=0

[GuiUnattended]
;; AdminPassword uzstādas tikai tad, ja tā bija tukša avota datorā
AdminPassword="admininstratora parole"
EncryptedAdminPassword=NO
;; Pēc klonēšanas dators 2x automātiski pieteiksies sistēmā ar administratora kontu
AutoLogon=Yes
AutoLogonCount=2
OEMSkipRegional=1
;; Laika zona Latvijai
TimeZone=125
OemSkipWelcome=1

[UserData]
;; ProductKey ir jāraksta īstais Volume Key
ProductKey="XXXXX-YYYYY-ZZZZZ-AAAAA-BBBBB"
;; Windows 2000 jālieto ProductID
ProductID="XXXXX-YYYYY-ZZZZZ-AAAAA-BBBBB"
;; Dati par licences īpašnieku
FullName="Andris"
OrgName="Skola"
;; Ja nav uzrādīts ComputerName, tad tas ir vienīgais, ko prasa miniinstalācija, un tieši tas mums ir vajadzīgs
;; ComputerName=DKLASE-01

[RegionalSettings]
;; Latvija
LanguageGroup=3,1
SystemLocale=00000426
UserLocale=00000426
InputLocale=0426:00010426

[SetupMgr]
DistFolder=C:\sysprep\i386
DistShare=windist

[Identification]
;; Lai pievienotu workgrupai, jālieto šāda sintakse
JoinWorkgroup=DKLASE
;; Lai "joinotu" datoru Windows domēnam, jāieraksta pareizās vērtības un jāatkomentē sekojošās rindas
; JoinDomain=SKOLA
; DomainAdmin=Administrator
; DomainAdminPassword=VerySecretPassword

[Networking]
InstallDefaultComponents=Yes


  • Jāuztaisa kopija sysprep.inf failam uz kāda no tīkla serveriem.
  • Jāpārkopē sysprep direktorija ar visu sysprep.inf failu kā C:\sysprep
  • Jālaiž C:\sysprep\sysprep.exe
  • Dialogā logā jāizvēlas:
    • MiniSetup (vai sysprep atslēga mini) - šajā gadījumā netiks rādīts Welcome logi un neprasīs daudz informācijas (t.sk, vēlreiz vadīt Volume Key)
    • Reseal
    • Shutdown
Ja viss ir veiksmīgi, dators tiek izslēgts.

Sējuma attēla (partition image) noņemšana



Sējuma noņemšanai var izmantot jebkuru LiveCD (USB u.t.t.) uz kura ir:
  • partimage
  • mount.cifs (klons tiks likts uz SMB tīkla sējuma)
  • noderēs arī ntfs-3g
  • Ielādējamies ar LiveCD
  • Ātrdarbības uzlabošanai ieteicams izdzēst c:\pagefile.sys, kā arī "tukšo" diska vietu aizpildīt ar nullēm (Šos soļus var arī izlaist):
    • Montējam Windows XP sējumu:
      • mkdir /tmp/sda1 &&  ntfs-3g /dev/sda1 /tmp/sda1
    • Dzēšam swapfailu (citus failus - pēc saviem ieskatiem):
      • rm /tmp/sda1/pagefile.sys
    • Aizpildam disku ar nullēm, t.i., veidojam bezgalīgi lielu failu ar saturu "0". Kad tiek izdoti paziņojumi par diska aizpildīšanos - pārtraucam procesu ar Ctrl+C, dzēšam šo failu un nomontējam sējumu:
      • cat /dev/null >> /tmp/sda1/nullesfails
      • rm /tmp/sda1/nullesfails
      • umount /tmp/sda1
  • Pieslēdzam tīkla servera sējumu (smb share), vajadzīgajās vietās (server, user) jāievieto pareizie vārdi:

    • mkdir /tmp/smb


    • mount.cifs //server/user /tmp/smb -o username=user

  • Klonējam WXP sējumu /dev/sda1 uz tīkla sējumu:

    • partimage save /dev/sda1 /tmp/smb/SDA1XP
  • Saglabājam MBR
    • dd if=/dev/sda bs=512 count=1 of=/tmp/smb/SDA.MBR



Sējuma attēla atjaunošana uz pārējiem datoriem



  • Mērķa datorā ielādējamies ar LiveCD (USB u.t.t.), piem., Knoppix vai Plop Linux
  • Ar fdisk palīdzību izveidojam tieši tāda paša lieluma /dev/sda1 sējumu, kam piešķiram NTFS failu sistēmas iezīmi (07)
  • Pievienojam tīkla sējumu

    • mkdir /tmp/smb


    • mount.cifs //server/user /tmp/smb -o username=user
  • Atjaunojam MBR
    • dd if=/tmp/smb/SDA.MBR of=/dev/sda

  • Rakstam sējuma attēlu no tīkla servera uz jaunizveidoto sējumu /dev/sd1
    • partimage  restore /dev/sda1 /tmp/smb/SDA1XP.000
Šo darbību veicam uz visiem datoriem. Lai panāktu laika ekonomiju:
  • vēlams visas atjaunošanas darbības (fdisk, mbr atjaunošanu, sējuma montēšanu, ) sarakstīt skripta failā, ko novieto uz lokālā web servera. Piemēram:


#!/bin/bash
echo "Dzēšam MBR"
dd if=/dev/zero bs=1024 count=10240 of=/dev/sda

echo "fdisk skripts, kas veido /dev/sda1 seejumu"
echo | fdisk /dev/sda <<>
n
p
1

2550
t
1
7
a
1
wq
EOF

fdisk -l /dev/sda
sleep 10

mkdir /tmp/smb
mount.cifs //server/user /tmp/smb -o username=user%password

## Lai nebūtu jāraksta paroles, uz servera var var lietot NFS un skriptā attiecīgi:
# /etc/init.d/nfs-common restart
# /etc/init.d/portmap restart
# mount -t nfs server:/data/user /tmp/smb

echo "atjaunojam MBR"

dd if=/tmp/smb/SDA.MBR of=/dev/sda

echo "Kloneejam Windows particiju"
## atslēga "-b" nozīmē batch mode, lai mums neko nejautātu
partimage restore -d -b /dev/sda1 /tmp/smb/SDA1XP.000

echo "Varam reboototies"
sleep 60
reboot


Ja šāds skripts sagatavots, tad uz mērķa datoriem pēc LiveCD ielādes atliek vien lejupielādēt šo skriptu un palaist to, piemēram:
wget server/restore.sh && sudo sh restore.sh
Pēc datora sekmīgas klonēšanas, tas ir jāpārlādējas. Vajadzētu startēties jaunajai Windows sistēmai, kura paprasīs ievadīt jauno datora vārdu.