<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on RC | Blog</title><link>https://rcandan.com/posts/</link><description>Recent content in Posts on RC | Blog</description><generator>Hugo -- gohugo.io</generator><language>tr-tr</language><lastBuildDate>Thu, 02 Apr 2026 22:00:00 +0300</lastBuildDate><atom:link href="https://rcandan.com/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>HPE StoreOnce 3660 OOBE Kurulumu: Firmware Tuzağı ve Kaçış Planı</title><link>https://rcandan.com/posts/storeonce-oobe/</link><pubDate>Thu, 02 Apr 2026 22:00:00 +0300</pubDate><guid>https://rcandan.com/posts/storeonce-oobe/</guid><description>&lt;img src="https://images.unsplash.com/photo-1544197150-b99a580bb7a8?w=800&amp;q=80" alt="Featured image of post HPE StoreOnce 3660 OOBE Kurulumu: Firmware Tuzağı ve Kaçış Planı" />&lt;p>Selamlar! Bugün sahada veri tekilleştirme (deduplication) canavarı olan &lt;strong>HPE StoreOnce 3660 (80TB)&lt;/strong> cihazının OOBE (Out-of-Box Experience) kurulumunu yaparken, bizi biraz terleten ama sonu tatlı biten bir hikayeden bahsedeceğim.&lt;/p>
&lt;p>Özellikle sistem yöneticilerinin standart sunucu alışkanlıklarıyla &amp;ldquo;Appliance&amp;rdquo; (özel amaçlı) cihazlara müdahale ettiğinde karşılaştığı o meşhur &amp;ldquo;Firmware Uyuşmazlığı&amp;rdquo; tuzağına ve bu durumdan nasıl kurtulduğumuza adım adım bakalım.&lt;/p>
&lt;h3 id="1-kutu-açılışı-ve-ilk-erişim-oobe">1. Kutu Açılışı ve İlk Erişim (OOBE)
&lt;/h3>&lt;p>StoreOnce cihazları kutudan ilk çıktığında, üstünde ağa bağlanacak herhangi bir IP adresi bulunmaz. Bu koca donanıma can vermek için tıpkı klasik ProLiant sunucularda olduğu gibi arka kapıdan, yani &lt;strong>iLO (Integrated Lights-Out)&lt;/strong> üzerinden girmemiz gerekiyor.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>iLO Erişimi:&lt;/strong> Cihazın iLO portuna bir IP verdik ve HTML5 Remote Console üzerinden ekrana düştük.&lt;/li>
&lt;li>&lt;strong>TUI (Text User Interface) Ayarları:&lt;/strong> Cihaz boot edip o nostaljik siyah/mavi konsol ekranına geldiğinde, varsayılan şifreyi ezip geçtik. Ardından &lt;em>Network Configuration&lt;/em> menüsünden cihazın Yönetim (Management) IP, Subnet, Gateway ve DNS bilgilerini çaktık.&lt;/li>
&lt;/ol>
&lt;p>Bu dakikadan sonra iLO ile işimiz bitti. Tarayıcıyı açıp doğrudan &lt;code>https://&amp;lt;Management-IP&amp;gt;&lt;/code> üzerinden cihazın şık Web GUI&amp;rsquo;sine bağlandık. Buraya kadar her şey standart.&lt;/p>
&lt;h3 id="2-ölümcül-hata-appliance-vs-standart-sunucu-mantığı">2. Ölümcül Hata: Appliance vs. Standart Sunucu Mantığı
&lt;/h3>&lt;p>Kurulum sırasında sıkça yapılan, iyi niyetli ama sistemi kilitleyen bir hata ile karşılaştık. Ekipten biri, cihazı &amp;ldquo;en güncel&amp;rdquo; hale getirmek için dışarıdan standart bir &lt;strong>HPE SPP (Service Pack for ProLiant)&lt;/strong> ISO&amp;rsquo;su bağlayarak donanımı güncellemişti.&lt;/p>
&lt;p>İşte zurnanın zırt dediği yer burası. &lt;strong>StoreOnce standart bir sunucu değildir, bir Appliance&amp;rsquo;dır.&lt;/strong> İçerisindeki işletim sistemi (StoreOnce OS) ile donanım firmware&amp;rsquo;leri (BIOS, HBA, NIC) birbirine çok katı bir &amp;ldquo;Uyumluluk Matrisi (Firmware Matrix)&amp;rdquo; ile bağlıdır.&lt;/p>
&lt;p>Cihazı boot ettiğimizde iLO loglarında ve arayüzde şu kırmızı alarmlar patlamaya başladı:&lt;/p>
&lt;blockquote>
&lt;p>❌ &lt;strong>Uyarı 1:&lt;/strong> &amp;ldquo;The HBA firmware needs to be downgraded. Data unavailability, loss, or corruption may occur.&amp;rdquo;&lt;/p>
&lt;p>❌ &lt;strong>Uyarı 2:&lt;/strong> &amp;ldquo;The HBA in this location has not been authorized.&amp;rdquo;&lt;/p>&lt;/blockquote>
&lt;p>&lt;strong>Sistem aslında bize şunu bağırıyordu:&lt;/strong> &lt;em>&amp;ldquo;Abi donanımımı son sürüme çektin ama benim içimdeki işletim sistemi (OS 4.3.11) bu yeni versiyonları tanımıyor! Ben eski, bildiğim sürüme dönmek (downgrade) istiyorum.&amp;rdquo;&lt;/em> Üstelik cihaz BIOS POST ekranında takılıp boot sürecini donduruyordu.&lt;/p>
&lt;h3 id="3-çözüm-storeonce-os-upgrade-star-operasyonu">3. Çözüm: StoreOnce OS Upgrade (.STAR) Operasyonu
&lt;/h3>&lt;p>Donanımı tekrar eski sürüme düşürmek (downgrade) riskli ve sancılı bir iştir. Biz daha zekice olanı seçtik: &lt;strong>Donanımı düşürmek yerine, İşletim Sistemini donanıma yetişecek seviyeye yükseltmek.&lt;/strong>&lt;/p>
&lt;p>HPE StoreOnce güncellemeleri (&lt;code>.STAR&lt;/code> uzantılı paketler) sadece işletim sistemini değil, uyumlu donanım firmware&amp;rsquo;lerini de kendi içinde paket olarak barındırır.&lt;/p>
&lt;ol>
&lt;li>Sistemin mevcut OS versiyonunu kontrol ettik: &lt;strong>4.3.11&lt;/strong>&lt;/li>
&lt;li>SPP ile atılan donanım sürümlerini destekleyen en güncel HPE Sürüm Notlarını (Release Notes) okuduk. Hedefimizin &lt;strong>4.3.13&lt;/strong> sürümü olduğunu tespit ettik.&lt;/li>
&lt;li>Web GUI üzerinden OS Upgrade işlemini başlattık.&lt;/li>
&lt;/ol>
&lt;p>Bu işlem, OS&amp;rsquo;in &amp;ldquo;Baseline&amp;quot;ını (temelini) yeni donanımlarla eşitledi. Cihaz yeniden başladığında o can sıkıcı BIOS hataları tarihe karışmıştı.&lt;/p>
&lt;h3 id="4-cli-üzerinden-son-dokunuşlar-firmware-senkronizasyonu">4. CLI Üzerinden Son Dokunuşlar (Firmware Senkronizasyonu)
&lt;/h3>&lt;p>İşletim sistemini güncelledik ama Fibre Channel (HBA) kartı gibi bazı inatçı bileşenlerin firmware senkronizasyonunu tam olarak bitirmek için ellerimizi biraz kirletip terminale (CLI) girmemiz gerekti.&lt;/p>
&lt;p>Cihaza SSH ile bağlandık ve şu hayat kurtaran komut setini çalıştırdık:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. Önce mevcut depodaki (repository) paketlerin listesini çekiyoruz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">system show repository
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. Yüklemek istediğimiz spesifik RPM paketini (örneğin HBA Firmware) sisteme yüklüyoruz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">system load package hba_firmware_paket_adi.rpm
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. Yüklediğimiz paketin sisteme entegre (update) edilme sürecini başlatıyoruz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">system update package
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 4. Son olarak güncellemenin başarılı olup olmadığını kontrol ediyoruz&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">system show package
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Nginx Proxy Manager ile Hayat Çok Kolay</title><link>https://rcandan.com/posts/nginx-proxy-manager/</link><pubDate>Wed, 01 Apr 2026 12:30:00 +0300</pubDate><guid>https://rcandan.com/posts/nginx-proxy-manager/</guid><description>&lt;img src="https://images.unsplash.com/photo-1558494949-ef010cbdcc31?w=800&amp;q=80" alt="Featured image of post Nginx Proxy Manager ile Hayat Çok Kolay" />&lt;p>Ters vekil (Reverse Proxy) ayarları yapmak eskiden tam bir kabustu. Siyah ekranlarda saatlerce config dosyası yazardık.&lt;/p>
&lt;p>Şimdi Nginx Proxy Manager (NPM) sayesinde şık bir arayüzden saniyeler içinde SSL sertifikamızı alıp domain yönlendirmemizi yapabiliyoruz.&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Otomatize edilebilen her şey otomatize edilmelidir.&amp;rdquo; - Bir DevOps Atasözü&lt;/p>&lt;/blockquote></description></item><item><title>Docker Nedir ve Neden Kullanmalıyız?</title><link>https://rcandan.com/posts/docker-nedir/</link><pubDate>Wed, 01 Apr 2026 10:00:00 +0300</pubDate><guid>https://rcandan.com/posts/docker-nedir/</guid><description>&lt;img src="https://images.unsplash.com/photo-1605745341112-85968b19335b?w=800&amp;q=80" alt="Featured image of post Docker Nedir ve Neden Kullanmalıyız?" />&lt;p>Selamlar! Bugün konteyner teknolojilerinin şahı olan Docker&amp;rsquo;dan bahsedeceğiz.&lt;/p>
&lt;p>Artık &amp;ldquo;Benim bilgisayarımda çalışıyordu, sunucuda neden çöktü?&amp;rdquo; devri bitti. Docker sayesinde uygulamalarımızı her yerde aynı çalışacak şekilde paketleyebiliyoruz.&lt;/p>
&lt;h3 id="neden-docker">Neden Docker?
&lt;/h3>&lt;ul>
&lt;li>Işık hızında ayağa kalkar.&lt;/li>
&lt;li>Sistem kaynaklarını sömürmez.&lt;/li>
&lt;li>İzolasyon sağlar.&lt;/li>
&lt;/ul></description></item><item><title>GitOps Nedir? Geleceğin Altyapı Yönetimi</title><link>https://rcandan.com/posts/gitops-mimarisi/</link><pubDate>Wed, 01 Apr 2026 09:15:00 +0300</pubDate><guid>https://rcandan.com/posts/gitops-mimarisi/</guid><description>&lt;img src="https://images.unsplash.com/photo-1618401471353-b98afee0b2eb?w=800&amp;q=80" alt="Featured image of post GitOps Nedir? Geleceğin Altyapı Yönetimi" />&lt;p>Bugün kendi sunucumuzda kurduğumuz GitOps mimarisinin temellerine iniyoruz. Kodumuzu Git&amp;rsquo;e gönderdiğimiz an sunucunun bunu anlayıp kendini güncellemesi, insan hatasını sıfıra indirir.&lt;/p>
&lt;p>&lt;strong>Kullandığımız Araçlar:&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Git (Sürüm Kontrolü)&lt;/li>
&lt;li>Gitea (Kendi özel depomuz)&lt;/li>
&lt;li>Git-Sync (Otomatik kuryemiz)&lt;/li>
&lt;/ol></description></item><item><title>İlk DevOps Makalem: Markdown ve Hugo'nun Gücü</title><link>https://rcandan.com/posts/devops-mimarimiz/</link><pubDate>Tue, 31 Mar 2026 10:00:00 +0300</pubDate><guid>https://rcandan.com/posts/devops-mimarimiz/</guid><description>&lt;img src="https://images.unsplash.com/photo-1461749280684-dccba630e2f6?w=800&amp;q=80" alt="Featured image of post İlk DevOps Makalem: Markdown ve Hugo'nun Gücü" />&lt;p>Selamlar! Bu makale, Hetzner üzerindeki &lt;strong>Docker + Gitea + Hugo&lt;/strong> mimarimizin ilk canlı testidir. Veritabanı kullanmadığımız için sitemiz ışık hızında açılıyor. Aşağıda Markdown&amp;rsquo;ın bize sunduğu harika formatlama yeteneklerini görebilirsiniz.&lt;/p>
&lt;h2 id="1-kod-blokları-syntax-highlighting">1. Kod Blokları (Syntax Highlighting)
&lt;/h2>&lt;p>İşte IT otomasyonları için yazdığım bir PowerShell betiği örneği. Otomatik renklendirmeye dikkat edin:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="c"># Windows&amp;#39;ta ortam değişkeni ayarlama betiği&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$yeniYol&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;C:\Hugo\bin&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$mevcutYol&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="no">Environment&lt;/span>&lt;span class="p">]::&lt;/span>&lt;span class="n">GetEnvironmentVariable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Path&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;User&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nv">$mevcutYol&lt;/span> &lt;span class="o">-notlike&lt;/span> &lt;span class="s2">&amp;#34;*&lt;/span>&lt;span class="nv">$yeniYol&lt;/span>&lt;span class="s2">*&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">[&lt;/span>&lt;span class="no">Environment&lt;/span>&lt;span class="p">]::&lt;/span>&lt;span class="n">SetEnvironmentVariable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Path&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="nv">$mevcutYol&lt;/span>&lt;span class="s2">;&lt;/span>&lt;span class="nv">$yeniYol&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;User&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">Write-Host&lt;/span> &lt;span class="s2">&amp;#34;Hugo başarıyla sisteme eklendi!&amp;#34;&lt;/span> &lt;span class="n">-ForegroundColor&lt;/span> &lt;span class="n">Green&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span> &lt;span class="k">else&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">Write-Warning&lt;/span> &lt;span class="s2">&amp;#34;Bu yol zaten ekli.&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>