Network Uptime yüzdesi hesaplama yöntemi

15/08/2010 17:10, Posted in Hosting & IIS7 | No Comments »

Bir çok datacenter Network uptime için %99,99 gibi değerler verirler. Peki %99,99′luk değerin, yılda kaç dakikalık kesintiye karşılık geldiğini biliyor musunuz? Hemen alttaki tablodan göz atalım:

Tabi her veri merkezi, 9′la biten uptime oranları vermeyebilir. Şimdi elinizde bulunan uptime oranına göre yılda kaç saat kesinti yaşayabileceğinizi hesaplayalım.

1 yıl 365 gün x 1 gün 24 saat = 8760 saat eder. Yani 1 yıl 8760 saate eşit oluyor. Örneğin uptime garantisi 99,5 olsun. Bu durumda hesaplama aşağıdaki gibi olmalı.

8760 – (8760 * (99,5 / 100)) = 43,8 saat

Hesaplamada sadece 99,5 olan kısma uptime oranını yazmanız, sonucu bulmanız için yeterli olacaktır. 99,5 uptime oranında, yıllık maksimum 43,8 saatlik bir kesintinin olabileceği öngörülüyor. Bu değeri 12′ye bölmeniz halinde, aylık kesinti süresini; 48′e bölmeniz durumunda haftalık kesinti süresini bulabilirsiniz.

Tags: , , ,

AddThis Social Bookmark Button

Windows SMTP server üzerinde Basic Authentication

07/08/2010 17:26, Posted in Hosting & IIS7, Windows Server | No Comments »

Radore Hosting’te son olarak Cluster mimarisinde çalışan SMTP servisini hizmete aldım. Tabi güvenlik gereği Relay ayarlarını çok dikkatli yapmam gerekiyordu. Bu yüzden her site için ayrı bir kullanıcı ayarlamak gerekiyordu. Kullanıcı için de Active Directory yapısını kullanarak, yeni kullanıcı açma probleminden kurtulmuş oldum. Böylece müşterilerin FTP kullanıcıları, SMTP için kullanılabilir hale geldi. Şimdi SMTP üzerinde neler yapmamız gerektiğine göz atalım.

Öncelikle SMTP ayarlarında bulunan Access tabına geçiş yapalım. Access tabının altında bulunan Authentication bölümüne tıklayın ve karşınıza çıkacak menüden Basic Authentication seçeneğini seçin.

Bu bölümü Apply diyerek kaydettikten sonra yine Access tabı altında bulunan “Connection” kısmına giriş yapın ve sunucularınızın bağlı bulunduğu ip aralığını girin. Böylece dışardan erişimi engellemiş olacaksınız.

Son olarak yine “Access” tabı altından Relay ayarlarına giriş yapın.

Yukarda görebileceğiniz gibi “Allow all computers which successfully authenticate to relay, regardless of the list below” seçeneğini işaretleyin. Bu ayarları yaptıktan sonra bu sunucunuzu sadece kullanıcı adı ve şifre ile Relay’a açmış olacaksınız. Kullanıcı adı ve şifre uygulamasının çalışıp çalışmadığını telnet üzerinden aşağıdaki gibi test edebilirsiniz.

1
2
3
4
5
6
7
8
9
10
telnet 127.0.0.1 25
Helo
Ehlo
AUTH Login
eXVzdWZvenR1cmtpbmZv (kullanıcı adı)
eXVzdWY (sifre)
mail from: yusuf.ozturk@domain.com
rcpt to: yusuf@domain.com
Test maili
.

Test amaçlı denemede, kullanıcı adı ve şifre Base64′e göre şifrelenmelidir.

Yukardaki bağlantı üzerinden ücretsiz olarak şifreleme yapabilirsiniz.

AddThis Social Bookmark Button

PHP hatalarının IIS7 üzerinde gösterilmesi

02/08/2010 13:22, Posted in Hosting & IIS7 | No Comments »

Default olarak PHP on Windows’ta PHP hatalarını IIS üzerinde detaylı olarak göremezsiniz. Bunun için PHP ve IIS ayarları üzerinde bazı değişiklikler yapmanız gerekir. Bunları gösterecek olursak;

İlk olarak IIS üzerinden Detailed Errors’u açmamız gerekecektir. Bunun için IIS altından;

Error Pages ikonuna tıkladıktan sonra açılan kısımdan “Edit Feature Settings” bölümüne tıklayın.

Açılan menüden “Detailed Errors” bölümünü işaretleyin.

Sonrasında Handler Mappings’e giriş yapın.

PHP-Fastcgi yapılandırmasını bulup, üzerine sağ tıklayıp, “Edit” diyin.

Açılan menüden “Request Restrictions” bölümüne tıklayın. Karşınıza gelen bölümden;

“Invoke handler only if request is mapped to” bölümünü işaretleyip, File seçeneğini aktif bırakın.

Sonrasında php.ini dosyasının içersinden aşağıdaki bölümü bulun;

1
2
3
4
5
6
7
8
9
10
; Off          - Do not display any errors 
; stderr       - Display errors to STDERR (affects only CGI/CLI binaries!)   
; On or stdout - Display errors to STDOUT (default)
;  
; To output errors to STDERR with CGI/CLI:              
;display_errors = "stderr"
;
; Default
;
display_errors = Off

Yukardaki bölümden display_errors kısmını “On” olarak değiştirin ve IIS’i resetleyin. Bu işlemler sonrası PHP hatalarını IIS üzerinde gösterebiliyor duruma geleceksiniz.

AddThis Social Bookmark Button

Enable Cluster Shared Volumes for Hyper-V Server R2 Cluster

16/07/2010 13:09, Posted in Virtual Machine Manager, Windows Server | No Comments »

Last post, I configured quorum configuration of Hyper-V Cluster. Now it’s time to enable Cluster Shared Volumes for Cluster. I created a 1 TB disk from SAN. Then I add it from Storage section.

Now we see it under the Available Storage.

Then enable Cluster Shared Volumes for Cluster.

Then add your disk to CSV with Add Storage.

Choose your 1 TB disk for Cluster Shared Volumes.

Done. Now your disk is available in Cluster Shared Volumes.

Now you can see your disk at C:\ClusterStorage.

AddThis Social Bookmark Button

Quorum settings for Hyper-V Server R2

16/07/2010 12:54, Posted in Virtual Machine Manager, Windows Server | No Comments »

You need a quorum disk for Hyper-V Cluster. I’ll show you how to configure best quorum settings for Hyper-V Server R2. First of all, create a volume from your SAN for quorum disk. Microsoft recommends 500 mb of space for quorum disk for best ntfs performance. I give 600 mb for my quorum, then I attached same disk to all cluster nodes. Then you need to add that disk to available storage group in cluster.

You don’t have to give any letter for your quorum disk. Just initialize and format your disk as a NTFS partition. Be careful, leave your disk as a Basic disk.

To configure your disk as a quorum disk, use “Configure Cluster Quorum Settings” under the “More Actions” menu.

Choose Node and Disk Majority for the recommended Quorum configuration.

Choose your Quorum disk to assign it as a witness disk.

Done. Now you have a quorum disk for Hyper-V Cluster.

After this operation, you need to add a disk for Cluster Shared Volume.

AddThis Social Bookmark Button

Renaming all file names in a directory with Powershell

27/06/2010 21:46, Posted in Windows Powershell | No Comments »

If you use Flashget, sometimes it downloads files with .html extension. You have to trim .html extensions from files but if you download so many files, you need to use script to save your time.

$files = dir
foreach ($file in $files)
{
$new=$file.name.replace(".html","")
ren $file $new
}

Simply, I use basic dos command, ren to rename files. But you can use Rename-Item to make it 100% Powershell :)

Tags: , , ,

AddThis Social Bookmark Button

Getting Dell servers hardware specification with Powershell

17/06/2010 12:32, Posted in Windows Powershell | 1 Comment »

One of my colleague asked me to make a script to write out server specifications of our new Dell servers using with their Service Tags. Recently, We rented more than 200 Dell servers and that is real mess to know which one has 4 gb ram and which one has SAS raid etc. The quickiest way to know this, using their Service Tags. Because you can see servers hardware from Dell web page with Service Tags. My script simply use service tags to get hardware and parse it for a more readable format.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
$ServiceTags = Get-Content C:\ServiceTags.txt
$TagsDir = "C:\ServiceTags"
Foreach ($ServiceTag in $ServiceTags)
{
$SystemInfoURL = "http://support.dell.com/support/topics/global.aspx/support/my_systems_info/en/details?c=us&l=en&s=gen&servicetag=" + $ServiceTag + "&~tab=2&~wsf=tabs"
$Webclient = New-Object System.Net.WebClient
$Webpage = $Webclient.DownloadString($SystemInfoURL)
$Webpage > "$TagsDir\$ServiceTag.txt"
 
$HardDrive = Select-String "$TagsDir\$ServiceTag.txt" -Pattern 'Hard Drive'
$HardDrive = "$HardDrive" -match '<td class="([^"]+)" valign="top">([^"]+)</td><td class="([^"]+)" valign="top"></td><td class="([^"]+)" valign="top">Hard Drive,(.*?),([^"]+)</td>'
$HardDriveModel = $Matches[6]
$HardDriveModel = $HardDriveModel.Replace("  ","")
$HardDriveModel = $HardDriveModel.Replace("</td></tr></table>","")
$HardDriveCount = $Matches[2]
$HardDriveSize  = $Matches[5]
 
$Processor = Select-String "$TagsDir\$ServiceTag.txt" -Pattern 'Processor'
$Processor = "$Processor" -match '<td class="([^"]+)" valign="top">([^"]+)</td><td class="([^"]+)" valign="top"></td><td class="([^"]+)" valign="top">Processor,(.*?),([^"]+)</td>'
$ProcessorModel = $Matches[6]
$ProcessorModel = $ProcessorModel.Replace("  ","")
$ProcessorModel = $ProcessorModel.Replace("</td></tr></table>","")
$ProcessorCount = $Matches[2]
$ProcessorSize  = $Matches[5]
 
$Memory = Select-String "$TagsDir\$ServiceTag.txt" -Pattern 'Memory'
$Memory = "$Memory" -match '<td class="([^"]+)" valign="top">([^"]+)</td><td class="([^"]+)" valign="top"></td><td class="([^"]+)" valign="top">Dual In-line Memory Module,(.*?),([^"]+)</td>'
$MemoryModel = $Matches[6]
$MemoryModel = $MemoryModel.Replace("  ","")
$MemoryModel = $MemoryModel.Replace("</td></tr></table>","")
$MemoryCount = $Matches[2]
$MemorySize  = $Matches[5]
 
$Raid = Select-String "$TagsDir\$ServiceTag.txt" -Pattern 'Assembly'
$Raid = "$Raid" -match '<td class="([^"]+)" valign="top">([^"]+)</td><td class="([^"]+)" valign="top"></td><td class="([^"]+)" valign="top">Assembly,Cable,(.*?),([^"]+)</td>'
$RaidModel = $Matches[5]
$RaidModel = $RaidModel.Replace("  ","")
$RaidModel = $RaidModel.Replace("</td></tr></table>","")
$RaidCount = $Matches[2]
$RaidType  = $Matches[6]
 
Write-Host Service Tag: $ServiceTag -ForegroundColor Red
Write-Host Hard Drive: -ForegroundColor Green
write-host Adet: $HardDriveCount
write-host Kapasite: $HardDriveSize
write-host Model: $HardDriveModel
Write-Host Processor: -ForegroundColor Green
write-host Adet: $ProcessorCount
write-host Kapasite: $ProcessorSize
write-host Model: $ProcessorModel
Write-Host Memory: -ForegroundColor Green
write-host Adet: $MemoryCount
write-host Kapasite: $MemorySize
write-host Model: $MemoryModel
Write-Host Raid: -ForegroundColor Green
write-host Adet: $RaidCount
write-host Tip: $RaidType
write-host Model: $RaidModel
write-host
}

You can use Add-Content to print them to txt files.

Tags: , , ,

AddThis Social Bookmark Button

Bitiyor mu ne?

02/06/2010 13:42, Posted in Hayattan | No Comments »

Bitiyor galiba.. 4 yıllık öğrencilik hayatımın son günlerini yaşıyorum bu aralar. Bitirme tezimi yazdım ve bugün teslim etmek için okula götüreceğim. Güzel bir önsöz yazdım, buradan da yayınlayayım istedim :)

Sayısal görüntü analizi ile ısı transfer etkinliğinin hesaplanmaya çalışıldığı bu tezde, Matlab üzerindeki işlem basamaklarının ayrıntılı bir şekilde gösterilmesi amaçlanmıştır. Bu çalışmalar sırasında bana yardımlarını ve sevgilerini esirgemeyen aileme; çalışmalarım sırasında bana büyük yardımları dokunan sevgili arkadaşlarım Mehmet Salih Yıldırım ve Göktuğ İçöz’e; gerekli döküman ve yazılımlara erişebilmek için bana internet altyapısını kullandıran Radore Hosting firmasına; tez çalışmalarım sırasında gereken anlayışı gösterdikleri ve yardımcı oldukları için başta Kubilay Akyol olmak üzere tüm Radore Hosting çalışanlarına; yardımlarını esirgemeyen Arş. Gör. Cenk Onan’a ve tez danışmanım Yrd. Doç. Dr. Derya B. Tümer Özkan’a teşekkürü bir borç bilirim.

5 final sınavım daha kaldı, onları da çıkartırsam mezun olmam için kalan stajlarımı yapmam gerekiyor :)

Tags: , , ,

AddThis Social Bookmark Button

Domain Controller ve Client’ların saat senkronizasyonu

30/05/2010 11:01, Posted in Windows Server | No Comments »

DC ve Client’lar arasında saat senkronizasyon problemi varsa aşağıdaki adımları uygulayarak sorunu çözebilirsiniz. Öncelikle PDC Emulatoru bulmanız gerekiyor. PDC Emulator’u aşağıdaki komut ile bulabilirsiniz.

dsquery server -hasfsmo pdc

Sonrasında PDC Emulator’de aşağıdaki komutu uygulayın.

w32tm /config /update /syncfromflags:MANUAL /manualpeerlist:time.windows.com,0×1

Client’larda da aşağıdaki komutu uygulayarak, senkronizasyonu sağlayabilirsiniz.

w32tm /resync /rediscover

Eğer yukardakiler işe yaramıyorsa, bir de PDC emulator’de aşağıdaki komutları deneyin.

1
2
3
4
5
NET TIME /SETSNTP:time.windows.com
NET STOP W32TIME
NET START W32TIME
W32TM /config /reliable:YES
W32TM /resync /rediscover

Umarım çözer bunlar probleminizi. Bu saat problemi hakkaten sinir bozucu bir şey.

Tags: , , ,

AddThis Social Bookmark Button

Plesk 9.5.2 supports Microsoft SQL Server 2008 R2?

23/05/2010 20:37, Posted in Hosting & IIS7 | No Comments »

Yes, Plesk 9.5.2 supports Microsoft SQL Server 2008 R2 x64. I haven’t tested it with Powerpack but you can install Plesk 9.5.2 on MSSQL Server 2008 R2. I’ll share screenshots and results from this page later.

I’ll update this post asap.

Tags: , , ,

AddThis Social Bookmark Button