Linux DM Çoklu Yol - Linux DM Multipath

Linux DM Çoklu Yol
İlk sürüm17 Haziran 2005; 15 yıl önce (2005-06-17) Linux çekirdeği 2.6.12
Depohttps://git.opensvc.com/gitweb.cgi?p=multipath-tools%2F.git;a=log
YazılmışC
İşletim sistemiLinux

Aygıt Eşleyici Çok Yollu Giriş Çıkışı genellikle kısaltmak DM-Çok Yollu ve olarak kısaltılır DM-MPIO girdi-çıktı sağlar (G / Ç ) yük devretme ve yük dengeleme kullanarak çok yollu G / Ç içinde Linux için cihazları engelle.[1][2][3] Cihaz eşleştiriciyi kullanarak, çoklu yol arka plan programı, ana bilgisayar tarafı mantığına, yedeklemenin birden çok yolunu kullanmak için sürekli kullanılabilirlik ve daha fazlasını sağlamak içinBant genişliği ana sunucu ile blok düzeyindeki cihaz arasındaki bağlantı.[4] DM-MPIO, bir yol arızası durumunda blok G / Ç'nin alternatif bir yola yeniden yönlendirilmesini yönetir. DM-MPIO ayrıca G / Ç yükünü tipik olarak kullanılan mevcut yolların tümü boyunca dengeleyebilir. fiber Kanal (FC) ve iSCSI SAN ortamlar.[5]DM-MPIO, aygıt eşleyici,[6] Bu, bir blok cihazı diğerine eşleyen temel çerçeveyi sağlar.

Düşünceler

Linux DM-MPIO'yu bir veri merkezi başka var işletim sistemleri ve çok yollu çözümler, yol yönetiminin temel bileşenleri dikkate alınmalıdır.

  • Yük dengeleme - İş yükü, mevcut donanım bileşenlerine dağıtılır. Hedef: G / Ç tamamlama süresini azaltın, verimi en üst düzeye çıkarın ve kaynakları optimize edin
  • Yol yük devretme ve kurtarma - Bir veya daha fazla yol artık mevcut olmadığında uygulama okuma ve yazma işlemlerini yeniden yönlendirmek için yedekli G / Ç kanallarını kullanır.

Tarih

DM-MPIO, Joe Thornber tarafından oluşturulan bir yama seti olarak başladı ve daha sonra Red Hat'ta Alasdair G Kergon tarafından sürdürüldü. 17 Haziran 2005 tarihinde piyasaya sürülen 2.6.12 çekirdek sürümü ile ana hat Linux'a dahil edildi.[7]

Bileşenler

Basit çoklu yol örneği

Linux'taki DM-MPIO, çekirdek bileşenlerinden ve kullanıcı alanı bileşenlerinden oluşur.

  • Çekirdek - aygıt eşleyici - blok aygıtları için katmanlama mekanizması sağlayan blok alt sistemi.
    • dm-çoklu yol - çekirdek modülü çoklu yol aygıt eşleyici hedefi.
  • Kullanıcı alanı - çok yollu araçlar - aygıt eşleyici çok yollu modülüne ne yapacağını bildirerek çok yollu aygıtları yönetmek için araçlar sağlar. Araçlar şunlardan oluşur:
    • Çoklu yol: sistemi çok yollu aygıtlar için tarar, bunları bir araya getirir, aygıt haritasının haritasını günceller.[5]
    • Çoklu yol: harita olaylarını bekleyen ve ardından çok yolu çalıştıran ve yolları izleyen arka plan programı. Yol hatalı olduğunda bir yolu başarısız olarak işaretler. Yeniden çalışma politikasına bağlı olarak yolu yeniden etkinleştirebilir.[5]
    • Devmap-name: Devmap'ler için udev'e anlamlı bir aygıt adı sağlar.[5]
    • Kpartx: çok yollu haritaları bölümlenebilir hale getirmek için doğrusal devmap'leri aygıt bölümlerine eşler.[5]
    • Multipath.conf: çok yollu arka plan programı için yapılandırma dosyası. Çoklu yolun yerleşik yapılandırma tablosunun üzerine yazmak için kullanılır.

Yapılandırma dosyası

Yapılandırma dosyası /etc/multipath.conf DM-MPIO özelliklerinin birçoğunu kullanıcı tarafından yapılandırılabilir hale getirir. çoklu yol komut ve çekirdek daemon çoklu yol bu dosyada bulunan bilgileri kullanın. Dosyaya yalnızca çok yollu aygıtların yapılandırılması sırasında başvurulur. Çalıştırmadan önce değişiklikler yapılmalıdır. çoklu yol komut. Daha sonra dosyada yapılacak değişiklikler, çoklu yol tekrar idam edilecek.

Multipath.conf'un beş bölümü vardır:[8]

  1. Sistem düzeyinde varsayılanlar (varsayılanlar): Kullanıcı, sistem düzeyi varsayılanlarını geçersiz kılabilir.
  2. Kara listeye alınan cihazlar (kara liste): Kullanıcı, DM-MPIO'nun kontrolü altında olmayacak cihazların listesini belirtir.
  3. Kara liste istisnaları (blacklist_exceptions): Kara listede listelense bile çok yollu aygıtlar olarak işlem görecek belirli aygıtlar.
  4. Depolama denetleyicisine özel ayarlar (cihazlar): Kullanıcı tarafından belirlenen yapılandırma ayarları, belirtilen "Satıcı" ve "Ürün" bilgilerine sahip cihazlara uygulanacaktır.
  5. Cihaza özel ayarlar (çoklu yollar): Ayrı LUN'lar için yapılandırma ayarlarının ince ayarını yapın.

Terminoloji

  • HBA: Ana veri yolu adaptörleri giriş / çıkış (G / Ç) ana bilgisayar veriyolu arasındaki fiziksel arabirimi sağlayın fiber Kanal aygıtlar ve temeldeki Fiber Kanal ağı.[9]
  • Yol: Sunucudan HBA aracılığıyla belirli bir LUN'a bağlantı.
  • DM Yol Durumları: Aygıt eşleyicisinin yol koşulunun görünümü. Yalnızca iki koşul mümkündür:
    • Aktif: Bu yoldan gönderilen son G / Ç işlemi başarıyla tamamlandı. Hazır yol durumuna benzer.
    • Başarısız: Bu yoldan gönderilen son G / Ç işlemi başarıyla tamamlanmadı. Hatalı yol durumuna benzer.
  • Yük Devretme: Bir yolun başarısız durumda olduğu belirlendiğinde, hazır durumda olan bir yol etkinleştirilecektir.[10]
  • Geri dönme: Başarısız bir yolun tekrar etkin olduğu belirlendiğinde, çoklu yol, geri dönme ilkesi tarafından belirlendiği gibi yola geri dönmeyi seçebilir.[11]
  • Failback Policy: multipath.conf yapılandırma dosyasında ayarlandığı gibi dört seçenek.
    • Anında: En yüksek öncelikli yola anında geri dönün.
    • Manuel: Başarısız olan yol izlenmez, geri dönüş için kullanıcı müdahalesi gerektirir.
    • Takip (kümeler için): Yalnızca bir yol grubunun ilk yolu etkin olduğunda otomatik yeniden çalışma gerçekleştirin. Bu, başka bir düğüm yük devretme isteğinde bulunduğunda bir düğümün otomatik olarak geri dönmesini engeller.
    • Saniye sayısı: G / Ç'nin kararlı hale gelmesine izin vermek için belirli bir saniye kadar bekleyin, ardından en yüksek öncelikli yola geri dönün.
  • Etkin / Etkin: İki depolama denetleyicisine sahip bir sistemde, her denetleyici G / Ç'yi işleyebilir.[12]
  • Etkin / Pasif: İki depolama denetleyicisine sahip bir sistemde, bir seferde yalnızca bir denetleyici G / Ç'yi işleyebilir, diğeri (pasif) ise bekleme modundadır.[12]
  • LUN: SCSI Mantıksal Birim Numarası
  • WWID: Dünya Çapında Tanımlayıcı, küresel olarak benzersiz ve değişmez olması garanti edilen çok yollu aygıt için bir tanımlayıcıdır.

daha fazla okuma

Referanslar

  1. ^ Goggin, Edward; Kergon, Alasdair; Varoqui, Christophe; Olien, David. "Linux Çoklu Yol" (PDF).
  2. ^ Varoqui, Christophe. "Linux çok yol uygulaması".
  3. ^ Oberg, Michael. "TeraGrid'de Blue Gene / L için Paralel Depolama Mimarilerinin Keşfi" (PDF).
  4. ^ van Vugt, Sander. XEN High Availability için Pratik Bir Kılavuz.
  5. ^ a b c d e SUSE. "Depolama Yönetim Kılavuzu, SUSE Linux Enterprise Server 11 SP1" (PDF). SLES11 Belgeleri, sf. 49.
  6. ^ https://lwn.net/Articles/124703/
  7. ^ Linux 2.6.12 kernelnewbies.org
  8. ^ Kırmızı şapka. "Aygıt Eşleyici Çoklu Yolunu Kullanma". Aygıt Eşleyici Çoklu Yolunu Kullanma.
  9. ^ Gupta, Meeta (2002). Depolama Alanı Ağı Temelleri. Indianapolis, IN: Cisco Press. s. 81. ISBN  1-58705-065-X.
  10. ^ Anderson, Michael. "SCSI Orta Seviye Çoklu Yol" (PDF).
  11. ^ "Depolama Yönetim Kılavuzu, SLES11 Belgeleri" (PDF). SUSE. s. 73.
  12. ^ a b Centos. "DM-Multipath'a Genel Bakış". Aygıt Eşleyici Çoklu Yolunu Kullanma.

Dış bağlantılar

  • çok yollu araçlar, Aygıt Eşleyici çoklu yol sürücüsünü sürmek için kullanılan yukarı akış projesinin ana sayfası.