Yok, öyle araştırmadan inanmak olmaz :)
https://thehftguy.com/2016/11/01/docker-in-production-an-history-of-failure/

17 Ekim 2017 15:02 tarihinde Ferhat Savcı <[email protected]> yazdı:
> Konu çok daldan çok dala atlayınca takip etmekte zorlandım ama sırf
> merakımdan soruyorum: Docker'da veri tutulamadığını kim söyledi? Niye
> inandınız araştırmadan? :-)
>
> 2017-10-17 14:53 GMT+03:00 Cerem Cem ASLAN <[email protected]>:
>>
>> Hakkaten direndim ama yok, illa muhabbete saracağız :))
>>
>> Şimdi, öncelikle, bu zahmete evet, laptop'um için giriyorum. Aslında
>> zaten laptop ile sunucu arasında da çok bir fark görmüyorum.
>> Sanallaştırma sistemlerini de kullanıyorum elbette, ama özel işler
>> için. Mesela VirtualBox olmazsa olmazlarım arasında. Onun dışında
>> Docker kullanayım dedim, fakat Docker'da veri tutulamadığı yönünde
>> yazıları okuyunca bundan vazgeçtim. Zaten Docker'ı mantık olarak
>> kopyalamakta bir problem göremiyorum. Hazır görememişken, şöyle bir
>> şey yapmıştım: https://github.com/aktos-io/lxc-to-the-future Şu anda
>> bu yöntem sunucularımızda kullanılıyor.
>>
>> Yani Docker yerine LXC'yi doğrudan kullanıyorum, Docker ile hazırlanan
>> altyapı yerine kullandığım işletim sisteminin o anki kopyasını
>> çıkarıyorum (`git clone` gibi). Bu kopyayı LXC ile açıyorum, ister
>> ilelebet bir server gibi kullanıyorum, ister deneme yanılma yapıyorum
>> (mesela basitçe `apt-get upgrade && apt-get dist-upgrade` burada
>> yapılabilir). Sonra, bu sanal makina artık host makinam olarak
>> çalışsın istersem bilgisayarı yeniden başlatıyorum, Grub ekranında
>> `...subvol=/var/lib/lxc/mytest/rootfs` deyip sistemi buradan
>> açabiliyorum.
>>
>> Bunlar hep güzel şeyler.
>>
>> Bu zamana kadar 2 kez diskim çöktü, 1 kez laptop'ım çalındı. İlkinde
>> diskim çökmüştü, bitirme projemi aklımda kaldığı kadarıyla sıfırdan, 1
>> haftada yazmıştım. 2.'sinde bilgisayarım çalınmıştı, projelerimin ve
>> kişisel dosyalarımın bir kısmına anneme hediye ettiğim makinada kalan
>> dosyalarımdan ulaşmıştım (giden gitmişti, ayrıca bütün bilgiler çalan
>> kişinin eline geçmişti), 3.sünde (geçtiğimiz günlerde) diskim bir anda
>> çöktü, sıfır veri kaybıyla atlattım. Ama yedeklere dönme işi 3 günümü
>> aldı (Cryptroot'un UUID meselesine takıldım).
>>
>> Şimdi, istiyorum ki, nasıl bir projeyi `git init && git ... && git
>> push` yapıp sonra `git clone` deyip kopyalayabiliyorsak, tüm
>> bilgisayarı da aynı şekilde yedekleyip geri yedekten
>> yükleyebilmeliyiz. Nasıl ki `git` sadece değişiklikleri gönderiyorsa
>> biz de değişiklikleri göndermeliyiz (vs.) ve nasıl ki `git` ile işler
>> tek komutta bitiyorsa, bizimkinde de öyle kolay olmalı.
>>
>> "Buluttan çalışmak işi ile uzak masaüstü ile çalışma işi aynı şey"
>> noktasından hareketle (yanılıyorsam düzeltin lütfen) internet
>> bağlantısının sıkıntılı olduğu noktalarda bu şekilde çalışamayız.
>> Kaldı ki bizler bilgisayarlarımıza dönüştürücüler takıp sahadaki
>> makinalara bağlanıyoruz. İnternetin çok problemli olduğu veya hiç
>> olmadığı zamanlar olduğu noktalarda bilgisayarlarımızı kullanmamız
>> gerekiyor.
>>
>> UUID kopyalama işi zaten sorun değil, sonuçta yeni diskin UUID'sini de
>> istediğimiz gibi değiştirebiliriz. Fakat iki tane aynı UUID'li diski
>> bilgisayara aynı anda bağlamak mümkün olmayacağı için bilgisayara
>> bağlı diskler sadece rol değiştiremeyecek. Aynı anda yalnızca biri
>> bağlı olabilir. Kaldı ki problem sadece UUID'lerin farklılaşması
>> değil, disk yerleşimi de değişebilir.
>>
>> Sanırım kullanım noktamı söylersem daha anlaşılır olacak.
>>
>> Bendeniz işimin bir parçası olarak laptop'ım ile sahada makina
>> programlıyorum. "Saha" dediğimiz yer bir fabrika da olabilir, dağın
>> başında bir tesis de olabilir.
>>
>> Böyle bir yerde, siloların tepesinde bilgisayarınızı elinizden
>> düşürürseniz (evet, düşürmemeniz lazım, ama düşebilir) bunun size
>> maliyeti bilgisayardan çok çok çok daha fazla olur. Bilgisayar birkaç
>> bin TL'ye alınabilir, ancak orada işiniz durursa tüm ekip durur.
>>
>> Ben de şöyle bir çözüm buldum: Bilgisayara bir harici disk
>> bağlayacağım, sahada güvenli bir noktada bunu bilgisayarla
>> eşitleyeceğim (bu işlem en en en fazla bir çay içimi süresinde
>> bitmeli). Bu aldığım yedek o güvenli noktada duracak. Ben çalışırken
>> oraya bıraktığım yedek de çalınabilir (evet, garip bir ülkede
>> yaşıyoruz, adam beğendiği için alabiliyor), dolayısıyla hiçbir özel
>> verimin de başkaları tarafından okunmaması gerekir, bu yüzden kriptolu
>> disklerde tutulmalı. Bir sürü garip garip dosya sistemi barındıracak
>> bu diski bilgisayara bağladığımda da her biri için tek tek
>> uğraşmamalıyım, taktığım anda kriptosu da açılmalı, LVM de
>> aktifleştirilmeli, uygun disk uygun yere mount da edilmeli. Yani bir
>> flaş belleği basitçe usb'ye dürtmekten farkı olmamalı. Bilgisayarımın
>> başına bir şey gelirse herhangi bir bilgisayara "FBI adına" el koyup o
>> az önce aldığım yedek diski takıp işime devam edebilmeliyim. Bu arada,
>> yedek disk ile bilgisayarı açtığımda hemencecik herhangi bir diski az
>> önceki yedeğin rolüne koyabilmeliyim. Bunun için belki o anda uygun
>> ebatta disk bulamayacağım. O zaman birkaç disk bulmalıyım. Bunları da
>> LVM ile biraraya getirip sistemin yedeğini tekrar oluşturmalıyım. Tüm
>> bu "yeni yedek diski oluşturma işi" de yine 1 bardak çay içme süresini
>> geçmemeli. Smith-sync'i bu yüzden yazmaya başladım:
>> https://github.com/ceremcem/smith-sync
>>
>> Bu arada kişisel verilerin olduğu klasör anlık olarak webdav üzerinden
>> yedekleniyor, ama bahsettiğimiz senaryoda internet erişimi kısıtlı
>> olabilir demiştik. Bunu çözmek için de yanımızdaki kendi kablosuz
>> ağımıza bağlı başka bir makine (bu bir Raspberry de olabilir) anlık
>> olarak bu değişiklikleri yedekleyecek, uygun bağlantı bulduğunda kendi
>> sunucularımızla eşitleyecek. Bunu henüz yapmadık ama yapılacaklar
>> listesinde duruyor.
>>
>> rsync'nin de kendine göre sıkıntıları vardı, onu hallettiler mi
>> bilmiyorum ama büyük boyutlu bir dosyanın yerini değiştirdiğinizde
>> değişikliği "silme" ve "yeni dosya oluşturma" olarak görüyor. Aslında
>> o konu çözülse rsync de gayet güzel kullanılabilir.
>>
>> Onun dışında deneme imkanım olmadı ama `bup` güzel bir seçenek gibi
>> duruyor (https://bup.github.io/).
>>
>> Fakat yine, aynı noktaya geliyoruz, bunlar hep yedek alma
>> stratejileri. Yedeklerden sistemi açma konusu bunların dışında
>> kalıyor.
>>
>> Son birkaç haftada çeşitli sebeplerden dolayı tüm sistemimi (800 GB
>> kadar) bir diskten diğer diske taşıyıp durdum. Bunlar arasında katman
>> farkı olanlar da vardı (BTRFS//LVM//LUKS, BTRFS//LUKS) fiziksel
>> farklar olan da vardı (rootfs//DISK_1 -> rootfs//DISK_1 +
>> home//DISK_2). Tüm bu noktalarda işler gayet başarılı oldu ama
>> özellikle şu initramfs'ye parametre verme işinde fena halde takıldım.
>> Bir de yedek rootfs'nin değişmesi gereken /etc/fstab ve /etc/crypttab
>> meselesine bir çözüm getirmek gerekir.
>>
>> 17 Ekim 2017 13:46 tarihinde Abdullah Ülker (Yandex)
>> <[email protected]> yazdı:
>> > +1
>> >
>> >
>> > 17 Ekim 2017 13:24:02 Koray Toksöz <[email protected]> yazdı:
>> >
>> >> Merhaba
>> >>
>> >> ben de sohbete bir köşesinden dahil olayım,
>> >> Öncelikle şunu belirteyim, uzmanlığım sistem yönetimi değil, yazılım
>> >> geliştirme.
>> >>
>> >> Bu kadar zahmete dizüstü bilgisayarınızı çalışır durumda tutmak için
>> >> girmediğinizi varsayıyorum, kişisel bilgisayarda sadece verilerinizin
>> >> yedeğini almak yeterlidir bence. Bu veriler resimler, libreoffice
>> >> dokümanları vb. olabilir. En zorlu senaryoda bir NAS cihazı alır basit
>> >> bir
>> >> rsync scripti yazar cron a bağlarsınız.
>> >>
>> >> sunucu tarafına gelirsek, bence burada istediğiniz şey standard dışı
>> >> bir
>> >> durum olduğu için sorun yaşıyorsunuz.
>> >>
>> >> Normal şartlarda, “yedekleme", yedeklemeye çalıştığınız senaryoya özel
>> >> olmalıdır, öncelik sistemi kurtarmadan önce, sistemi sürekli çalışır
>> >> halde
>> >> tutmak bence.
>> >> Bir örnek vermem gerekirse,
>> >>
>> >> bir uygulamanız var, bu uygulama arkada dört tomcat uygulama sunucusu,
>> >> mongo sunucuları, redis, iki nginx web sunucusu ve bir fiziksel load
>> >> balancer cihazından oluşsun.
>> >>
>> >> Dikkat ettiyseniz bu uygulama katmanı, bu katmanda yedeklilik zaten
>> >> uygulama sunucular seviyesinde sağlanmış, örneğin 4 app serverden
>> >> herhangi
>> >> birinin başına birşey gelirse kimsenin haberi bile olmaz (hatta sistem
>> >> yöneticisinin de haberi olmayabilir, o yüzden monitoring önemlidir:))
>> >>
>> >> birden fazla sunucu, redundant güç kaynakları, hatta birden fazla rack
>> >> kabinet üzerinde şase yedekliliği de sağladınız, veritabanı
>> >> yedeklerinizi
>> >> düzenli alıyor, yazılım geliştirme yaşam döngüsünü oturtmuş ve
>> >> uygulamalarınızı ona göre yaygınlaştırıp sistemlerinizi izliyorsunuz,
>> >> network switchlerinizde de yedeklilik var ama yetmiyor, hatta tier-3
>> >> seviyesinde veri merkeziniz bile var ama felaket kurtarma istiyorsunuz,
>> >> bu
>> >> durumda, coğrafi olarak yedeklilik düşünebilirsiniz, bir tane de
>> >> konyaya
>> >> benzer sistemi kurarsınız.
>> >> Tebrikler, ufak bir uygulamanız vardı, artık coğrafi yedekliliğiniz,
>> >> jeneratörleriniz, upsleriniz, network cihazlarınızın yedekliliği,
>> >> veritabanı ve sanallaştırma çözümleriniznn yedeklerini almak için LTO
>> >> yedekleme üniteleriniz, firewall, IDS ve IPS sistemleriniz, yedekli
>> >> hatta
>> >> belki aynı anda birden fazla operatörden aldığınız internet
>> >> hizmetleriniz,
>> >> fiziksel güvenliği sağlamak için özel güvenlikleriniz, 24 saat veri
>> >> merkezini izleyen elemanlarınız oldu :)
>> >>
>> >> Bütün bunların yerine, bulut çözümlerini de kullanabilirsiniz tabii ki,
>> >> ihtiyacınız kadar alır, çok daha az ödersiniz.
>> >>
>> >> sunucularda sanallaştırmadan hoşlanmadığınızı söylemişsiniz, fakat ben
>> >> sanallaştırmayı geçtim, yeni projelerimde mümkünse bulut içerisinde,
>> >> değilse kendi sistemlerimde container tabanlı bir yapı kurmaya
>> >> çalışıyorum
>> >> (docker olarak anahtar kelime verebilirim)
>> >>
>> >> Bir küçük anıyla noktalayayım,
>> >>
>> >> bir şekilde üzerinde veritabanı çalışan sunucudan (maalesef açık kaynak
>> >> değil) bazı sistem dosyaları da dahil olmak üzere silmeyi başarmışlar
>> >> (rm
>> >> -rf / belki de:)) çalışan başka bir sistemden ve rpm depolarından
>> >> dosyaları
>> >> kopyalayarak birkaç restart ile o sunucuyu çalışır hale getirmeyi
>> >> başarmıştım yarım gün içerisinde. Demem odur ki, linux tabanlı
>> >> sistemlerde,
>> >> "mavi ekrana düşüyorum, güvenli kipte de açılmadı formatı basmam lazım
>> >> başka çaresi yok (!)” demeden önce pek çok çözüm bulunabilir.
>> >>
>> >> iyi çalışmalar dilerim
>> >>
>> >>
>> >>> On 17 Oct 2017, at 12:06, Cerem Cem ASLAN <[email protected]>
>> >>> wrote:
>> >>>
>> >>> "Sistem" ve "koşan uygulamalar" derken tam olarak nasıl bir ayrımdan
>> >>> bahsettiğimizi anlayamadım. Bana sorsanız "sistem zaten koşan
>> >>> uygulamalardan oluşur" derdim, belki belki sanal makinaları bunun
>> >>> dışında bırakmak gerekirdi.
>> >>>
>> >>> Sistemi sanallaştırmak her zaman çözüm olamıyor maalesef. Şahsen
>> >>> sanallaştırma işini oldukça da gerilimli buluyorum. Mesela virtualbox
>> >>> hatası verip durduğu için açılmayan sunucularınız oldu mu? Benim oldu
>> >>> :) Dosya kurtarmaya kalkmak da oldukça sıkıntılı oluyor. Yani
>> >>> sanallaştırma bir seçenek, fakat bir Alex değil.
>> >>
>> >>
>> >>
>> >>
>> >> ----------
>> >> _______________________________________________
>> >> Linux-sohbet mailing list
>> >> [email protected]
>> >> https://liste.linux.org.tr/mailman/listinfo/linux-sohbet
>> >> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>> >>
>> >
>> >
>> > _______________________________________________
>> > Linux-sohbet mailing list
>> > [email protected]
>> > https://liste.linux.org.tr/mailman/listinfo/linux-sohbet
>> > Liste kurallari: http://liste.linux.org.tr/kurallar.php
>> _______________________________________________
>> Linux-sohbet mailing list
>> [email protected]
>> https://liste.linux.org.tr/mailman/listinfo/linux-sohbet
>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
>
>
>
> --
> -- Ferhat Y. Savcı
> +90 (530) 548 1716
>
> _______________________________________________
> Linux-sohbet mailing list
> [email protected]
> https://liste.linux.org.tr/mailman/listinfo/linux-sohbet
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
_______________________________________________
Linux-sohbet mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-sohbet
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap