Sunucu geçişi: en etkili yol


10

Sitelerimizden birini sunucular (iki farklı ana bilgisayar) arasında taşımakla görevlendirildim. Her iki ortam da linux'dur.

Site video akışı yapıyor, bu nedenle sunucu şu anda medya dosyalarıyla (resim ve video) dolu. İlk düşüncem, her şeyi aktarmak için rsycnc kullanacağımızdı, ancak mümkün olduğunca verimli olmak ve her şeyi olabildiğince çabuk yapmak istiyorum. Bazılarınızın süreci nasıl hızlandıracağına dair tavsiyeleriniz olabileceğini veya rsync'in burada doğru seçim olup olmadığını düşündüm.

Şimdiden teşekkürler. Sisadmin şeyler hakkındaki sınırlı bilgim için özür dilerim ...

DÜZENLEME: Temel bir LAMP yığını (centos) üzerinde çalışıyor ve raf alanında kırmızı şapkaya geçiyoruz).


1
Bu bağlamda "verimli" yi tanımlayın. Hızlı, güvenilir, sağlam ya da ne? Ve hayır, bunlara sahip olamazsınız.
John Gardeniers

1
rsync, verileri taşımak için neredeyse kesinlikle en iyi seçimdir; hala başkalarının daha iyi seçenekleri olan bahsettiği yapılandırma ve olası veritabanları vs.
fukawi2

Yanıtlar:


12

"Bir uygulamayı bir sunucudan diğerine taşıma" ile ilgili çok şey var - bunu tüm kullanım durumları için kapsamlı bir şekilde cevaplayabilmemizin bir yolu yok. EĞER sen sistematik yaklaşım ise, olsa kurulumu için oldukça kapsamlı bunu yanıtlayabilir:

  1. Uygulamanızın ihtiyaç duyduğu her şeyin bir listesini yapın.
    • Web sunucusu?
    • Veritabanı sunucusu?
    • Posta sunucusu?
    • Komut dosyası dili (PHP, Ruby / Rails, Perl, başka bir şey)?
    • Yardımcı programlar (ImageMagick vb.)?
  2. Önemli yapılandırma öğelerinin bir listesini yapın.
    • IP Adresi, Ağ Maskesi, Ağ Geçidi vb.
    • DNS Sunucuları
    • Uygulamaya özgü öğeler (geçici dizinler, vb.)
  3. (1) ve (2) 'den listeleri alın ve taşıma işleminin ana hatlarını yazın.
    Bu, ihtiyacınız olan herhangi bir yazılım / paketi kurmak ve yapılandırmak, veritabanını boşaltmak ve yüklemek gibi şeyleri içermelidir.
  4. GÖÇÜNÜ TEST EDİN
    Sunucu canlı yayınlanacaksa her şeyi kopyalayın, ancak canlı yapmayın. İşiniz bittiğinde yalıtılmış bir ağa yapıştırın ve her şeyi test edin.
    Uygulamanız için standart bir test prosedürünüz varsa, geçirilen sunucuda çalıştırmalısınız.
  5. Her şey mükemmel gitmediyse, (3), güncelleme (1) ve (2) 'ye gidin, sonra planınızı gözden geçirin.
  6. Test geçişleri mükemmel gittiğinde, gerçek geçişi yapın.
    Geçiş sürecinin ne kadar karmaşık olduğuna bağlı olarak, bu sadece bir veritabanını düşürmek ve yeniden yüklemek anlamına gelebilir ya da makineyi silmek ve sıfırdan yapmak isteyebilirsiniz.

İşiniz bittiğinde, uygulamanız için, ortamınızda bir kontrol listesine sahip olursunuz. Uygulamayı geliştirdikçe bu kontrol listesi muhtemelen gelişecektir, ancak tekrar taşınmanız gerektiğinde 3-5 yıl içinde bir başlangıç ​​noktası olarak hizmet edebilir.

Dikkate alınması gereken diğer şeyler arasında, konfigürasyon yönetimi ala Kukla veya Şef'in uygulanması sayılabilir.
("Sistem yöneticisi" olacaksanız, bunları göz önünde bulundurmalısınız, aksi takdirde sorumlu kişiye / ekibe iletin.)


5

Bununla başa çıkmak için sunucu yapılandırmanız ve sunucu içeriğiniz var ve aynı tekniğin her ikisi için de çalışması pek olası değildir.

Veritabanınız var mı? Eğer öyleyse, bunun da taşınması gerekecektir. Rsync, statik içerik için harika çalışır. Verilerinizin listesini taşımak için bir kez çalıştırın ve sonra her şeyi saatte bir senkronize halde tutmak için söyleyin. Taşıma işleminden önce rsync cron'u devre dışı bıraktığınızdan emin olun!

Konfigürasyon ile ilgili olarak, ne çalıştırdığınızı bilmiyoruz, bu yüzden gerçekten tavsiyelerde bulunamayız.


Teşekkürler! Şu anda WHOS ile Apache / PHP / MySQL yığını (oldukça standart) ile CentOS üzerinde çalışıyoruz. Rackspace'deki her şeyi linux'u redhat etmeye taşıyoruz.
Hayalet Kodu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.