PowerFlex: PowerFlex SDC Sürücüsünün İsteğe Bağlı Derlemesi

Summary: Bu bilgi tabanlı makalede, Linux sistemlerde PowerFlex SDC sürücüsünün isteğe bağlı derlemesinin nasıl etkinleştirileceği açıklanmaktadır.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Bu özellik, farklı bir çekirdek için önceden derlenmiş bir SDC sürücüsünün yüklenememesine neden olabilecek Linux çekirdeğindeki Uygulama İkili Arabirimi (ABI) değişikliklerine uyum sağlamak için tasarlanmıştır.

Tarihsel olarak, Linux için bir SDC kurulum paketi (RPM/DEB), bu Linux dağıtımının çeşitli çekirdekleri için birkaç SDC çekirdek modülü içeriyordu. Sık çekirdek güncellemeleri yayınlayan Ubuntu gibi dağıtımlara yükleme yapan kullanıcılar için, SDC hizmetini Dell'in uzak SDC sürücüleri deposuna bağlanacak ve buradan bir SDC indirmeyi deneyecek şekilde ayarlama seçeneği vardır.

Yeni özellik ile kullanıcılar, sürücünün deposunda eşleşen bir SDC'nin kullanılabilirliğine güvenmeden, çalışan çekirdekleri için SDC sürücüsünün mükemmel bir eşleşmesini derleyebilir.

Not: Kendi kendine derlenen işlevsellik yalnızca SDC'nin desteklendiği Linux sistemlerinde desteklenir. Ayrıntılar için PowerFlex destek matrisine bakın.

Hedef kitle: Güvenlik nedenleriyle çekirdeklerini sık sık güncelleyen ve özel özel çekirdekler çalıştıran kullanıcılar bu özellikten yararlanabilir.

 

Önkoşullar
Derleme prosedürünün başarılı olması için SDC hizmetinin ana bilgisayarına aşağıdaki paketlerin yüklenmesi gerekir:

  • GNU C derleyicisinin (GCC) en son sürümü, GCC
  • GNU make(1).
  • Çalışan çekirdek için çekirdek geliştirme paketi. Bu paket genellikle aşağıdaki adlarla kullanılabilir:
    • RPM paket yöneticisini kullanan dağıtımlar için kernel-devel. (Red Hat, SUSE, vb.)
    • Debian paket yöneticisini kullanan dağıtımlar için linux başlıkları (Debian, Ubuntu, vb.)

Otomatik isteğe bağlı derleme
SDC sürücüsünün otomatik, isteğe bağlı derlemesine izin vermek için ana bilgisayarın yukarıdaki Önkoşullar bölümünde listelenen tüm önkoşulları karşılaması gerekir. SDC sürücüsü açılırken aşağıdaki koşulların tümü karşılanırsa SDC hizmeti SDC sürücüsünü derlemeye çalışır:

  • Sürücü önbelleğinde çalışan çekirdekle eşleşen bir SDC kullanılamıyor.
    Sürücü önbelleği hakkında ayrıntılı bilgi için aşağıdaki Sürücü Önbelleği bölümüne bakın.

  • Adlı bir dosya /etc/emc/scaleio/scini_sync/.build_scini Var.
    Dosyanın içeriği yok sayılır. Ancak, kullanıcılar gelecekteki olası geliştirmeler için boş tutmalıdır.
    Dosya, bir touch(1) yapılandırmalısınız.

Manuel derleme
SDC sürücüsü, derleme ana bilgisayarı yukarıdaki Önkoşullar bölümünde listelenen tüm önkoşulları karşılamalıdır.
SDC sürücüsünü manuel olarak derlemek için şu adımları izleyin:

  1. Derleme paketini sürücü önbelleğindeki dizininden geçici bir dizine kopyalayın. Paketin konumu, PowerFlex sürümüne ve Linux dağıtımına bağlıdır.
    Örneğin, Red Hat Enterprise Linux 9 tabanlı dağıtımlar için PowerFlex 3.6.3 SDC paketi şöyledir: /bin/emc/scaleio/scini_sync/driver_cache/RHEL9/3.6.3000.128/Dell-PowerFlex-scini_builder-3.6.3000.128.x86_64.tgz
    Sürücü önbelleği hakkında ayrıntılı bilgi için aşağıdaki Sürücü Önbelleği bölümüne bakın.

  2. Geçici dizine gidin ve derleme paketini ayıklayın.
    Example:

    tar xzf Dell-PowerFlex-scini_builder-3.6.3000.128.x86_64.tgz
  3. Şunu çalıştırın: build_driver.sh komut dosyası, ayıklanan içeriğin en üst düzeyinde bulunur. Bağımsız değişken olmadan komut dosyası, çalışan çekirdek için sürücüyü derlemeye çalışır.
    Farklı bir çekirdek için derlemek üzere, o çekirdeğin başlık dizinlerinin yolunu "-o" ve "-s" komut satırı bağımsız değişkenleri.
    Çağırma hakkında daha fazla bilgi için şunu çalıştırın:

    build_driver.sh -h
  4. Derleme işlemi çıktısı standart çıktıya yazdırılır.
    Başarılı bir derlemeden sonra, ortaya çıkan SDC sürücü dosyası scini.ko şu adreste bulunabilir: ./ini/scini.ko.

  5. Sürücü dosyasını derleme ana bilgisayarından hedef SDC ana bilgisayarına, sürücü önbelleğindeki derleme paketiyle aynı konumun altında hedef çekirdek sürümüyle eşleşen bir dizine kopyalayın.
    Örneğin, 5.14.0-362.24.1.el9_3.x86_64 çekirdek sürümüyle uyumlu bir sürücü için sürücü dosyasının hedef yolu /bin/emc/scaleio/scini_sync/driver_cache/RHEL9/3.6.3000.128/5.14.0-362.24.1.el9_3.x86_64/scini.ko.

 

Additional Information

Sürücü Önbelleği
Belirli bir çekirdek için başarıyla derlenmiş bir SDC sürücüsü, sürücü önbelleğinin uygun dizinine kopyalanır ve derlemesi yeniden tetiklenmez.
Sürücü önbelleğinin konumu /bin/emc/scaleio/scini_sync/drive_cache.

Derleme Günlüğü
Otomatik isteğe bağlı derleme etkinleştirildiğinde, tüm derleme günlükleri /bin/emc/scaleio/scini_sync/driver_build.log'dir.
Başarılı bir derleme, aşağıdakine benzer mesajlarla sona erer:

make: Entering directory '/usr/src/linux-headers-5.15.0-30-generic'
"Following additional compilation's conditions are defined:" 
BLK_MQ_HEADER 
BLK_DEV_MAX_SEGMENTS 
SOCKET_HAS_NET_IN_CREATE 
BIO_BI_BDEV 
BIO_BI_STATUS 
BLK_QUEUE_FLAG_FUNCS 
BLK_INITIALIZE_RMQ_FN 
WAIT_QUEUE_ENTRY_T 
HAS_SCSI_REQUEST 
HAS_SCSI_REQ 
HAS_SCSI_CMND 
HAS_SCSI_IOCTL 
HAS_SCSI_IOCTL_WITH_GENDISK 
HAS_QUEUE_FLAG_DISCARD 
HAS_DISK_LIVE_IN_GENHD 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_main.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_mos.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_net.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_ioctl.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_blk_io.o 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/./linux/api/api_blk_dev.o 
  LD [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.o 
"Following additional compilation's conditions are defined:" 
BLK_MQ_HEADER 
BLK_DEV_MAX_SEGMENTS 
SOCKET_HAS_NET_IN_CREATE 
BIO_BI_BDEV 
BIO_BI_STATUS 
BLK_QUEUE_FLAG_FUNCS 
BLK_INITIALIZE_RMQ_FN 
WAIT_QUEUE_ENTRY_T 
HAS_SCSI_REQUEST 
HAS_SCSI_REQ 
HAS_SCSI_CMND 
HAS_SCSI_IOCTL 
HAS_SCSI_IOCTL_WITH_GENDISK 
HAS_QUEUE_FLAG_DISCARD 
HAS_DISK_LIVE_IN_GENHD 
  MODPOST /tmp/PowerFlex_driver_build_hpoM6l/ini/Module.symvers 
  CC [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.mod.o 
  LD [M]  /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.ko 
  BTF [M] /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.ko 
Skipping BTF generation for /tmp/PowerFlex_driver_build_hpoM6l/ini/scini.ko due to unavailability of vmlinux 
make: Leaving directory '/usr/src/linux-headers-5.15.0-30-generic' 
02-Apr-2024 11:46:48 INFO: Success.

SDC başlatma kapsayıcısı
SDC başlatma kapsayıcısı, özelliği kullanmak için önceden yapılandırılmış olarak gelir. Gcc'yi içerir ve paketler yapar ve /etc/emc/scaleio/scini_sync/.build_scini dosya mevcut. Ancak, derlemelerin başarılı olması için, ana bilgisayar çekirdeğinin çekirdek başlıkları dizininin kapsayıcıya, aşağıdakilere eşlenmesi gerekir: /usr/src. Örneğin, kapsayıcıyı docker ile manuel olarak çalıştırmak için ana bilgisayara doğru kernel-devel paketini kurduktan sonra şunu ekleyin: -v/usr/src:/usr/src Çekirdek başlıkları dizininin derleme komut dosyası tarafından kullanılabilmesi için komut satırına.

Sınırlama
Ana bilgisayarın Linux dağıtımında kullanıma sunulan GCC derleyicisinin, SDC'yi bazı çekirdeklere karşı derleyecek kadar gelişmiş olmadığı bir durum olabilir. Bu durum nadir olmalıdır, çünkü muhtemelen özel bir çekirdek içerecektir ve bu dağıtımda ortak olan bir çekirdeği içermeyecektir. Bu durumda, kullanıcının standart olmayan bir paket deposundan daha gelişmiş bir GCC yüklemesi gerekir ve bu GCC'nin konumu $PATH'da belirtilmelidir. SDC hizmetine alternatif bir GCC yolu sağlamanın otomatik bir yolu yoktur.

Sürüm
3.6.3 veya üstü
4.5.2 veya üstü

Video Talimatları

 

Affected Products

PowerFlex rack, PowerFlex Appliance, PowerFlex Software

Products

PowerFlex custom node
Article Properties
Article Number: 000224134
Article Type: How To
Last Modified: 18 Sep 2024
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.