Tinjauan Teknologi IPMI


Untuk mengelola keadaan platform server dari jarak jauh, administrator sistem dan insinyur menggunakan teknologi IPMI, yang sangat menyederhanakan kehidupan mereka. Sekarang Anda tidak perlu lari ke server setiap kali untuk menekan tombol reset - Anda dapat menanggapi masalah kritis secara tepat waktu sambil duduk di rumah di kursi yang nyaman. Artikel ini akan membahas komponen dasar IPMI dan detail bagaimana teknologi bekerja.

Apa itu IPMI?


Akronim IPMI singkatan dari Intelligent Platform Management Interface. Melalui IPMI, Anda dapat terhubung dari jarak jauh ke server dan mengelola operasinya:

  • Pantau kondisi fisik peralatan, misalnya, periksa suhu masing-masing komponen sistem, level voltase, kecepatan kipas
  • Kembalikan server dalam mode otomatis atau manual (reboot sistem jarak jauh, power on / off, memuat gambar ISO dan memperbarui perangkat lunak)
  • Kelola periferal
  • Simpan log peristiwa
  • Menyimpan informasi tentang peralatan yang digunakan

Misalkan seorang insinyur mengkonfigurasi ulang jaringan di server, membuat kesalahan konfigurasi, dan kehilangan akses melalui SSH. Bagaimana cara "mencapai" server sekarang? Anda dapat terhubung melalui IPMI dan mengubah pengaturan.

IPMI baik karena fungsi-fungsi di atas tersedia terlepas dari prosesor, BIOS atau sistem operasi (OS) dari platform yang dikelola. Misalnya, Anda dapat me-reboot server dari jarak jauh jika OS macet, atau mencari alasan kegagalan CPU pada log peristiwa sistem. Anda bahkan dapat mengelola server yang dimatikan - cukup bahwa server terhubung ke jaringan listrik.

Setelah server dipasang dan terhubung ke jaringan, insinyur Selectel mengkonfigurasi BIOS dan IPMI. Kemudian Anda dapat keluar dari ruang server yang bising dan terus mengkonfigurasi peralatan dari jarak jauh. Setelah pengaturan awal selesai, klien Selectel dapat mengelola server konfigurasi khusus dan sewenang - wenang melalui IPMI.

Latar belakang sejarah


Versi pertama dari spesifikasi IPMI v1.0 dikembangkan bersama oleh Intel, Dell, NEC dan Hewlett-Packard pada tahun 1998. Dalam praktiknya, kerentanan dan kelemahan ditemukan yang diperbaiki dalam versi IPMI v1.5 dan v2.0 berikutnya.

Spesifikasi IPMI menstandarisasi antarmuka komunikasi, dan bukan implementasi spesifik dalam perangkat keras, sehingga IPMI tidak memerlukan penggunaan perangkat yang dipatenkan khusus dan mikrokontroler tertentu. Pabrikan, mengikuti spesifikasi, mengembangkan peralatan IPMI mereka sendiri yang tertanam dalam platform server:
PabrikanTeknologi berbasis IPMI
CiscoCisco IMC (Pengendali Manajemen Terpadu)
DelliDRAC (Kartu Akses Jarak Jauh Dell Terpadu)
HPiLO (Lampu Keluar Terpadu)
IbmIMM (Modul Manajemen Terpadu)
LenovoIMM (Modul Manajemen Terpadu)
SupermicroSIM (Supermicro Intelligent Management)
Perusahaan menetapkan harga mereka untuk teknologi yang disediakan. Jika biaya implementasi IPMI meningkat, harga sewa server naik, karena secara langsung tergantung pada biaya bahan habis pakai.

Solusi dari produsen berbeda di antara mereka sendiri:

  • Visibilitas informasi status peralatan
  • Serangkaian aplikasi unik untuk memulihkan kesehatan server jika ada komponen yang gagal
  • Kemampuan untuk mengumpulkan statistik pada semua komponen server, termasuk yang terhubung melalui kartu ekspansi PCI, NVM, dll.
  • Menggunakan teknologi tidak hanya pada perangkat keras server, tetapi juga dengan komputer biasa melalui kartu ekspansi PCI-Express

Bahkan, untuk pekerjaan yang nyaman dengan konsol jarak jauh dan pemberitahuan masalah tepat waktu, fungsi dasar IPMI sudah cukup.

Meskipun pabrikan menyediakan IPMI yang dimodifikasi dan direvisi, implementasi arsitekturnya tetap sama. Mari kita lihat apa yang terdiri dari teknologi, berdasarkan spesifikasi resmi Intel.

Komponen dasar dari setiap IPMI


Pengontrol


Di pusat arsitektur adalah "otak" IPMI, mikrokontroler BMC (Baseboard Management Controller). Melalui itu, kontrol server jarak jauh terjadi. Faktanya, BMC adalah komputer yang terpisah dengan perangkat lunak dan antarmuka jaringannya, yang disolder ke motherboard atau dihubungkan sebagai kartu ekspansi melalui bus manajemen PCI.


BMC diaktifkan dari tegangan siaga motherboard, artinya selalu bekerja, terlepas dari status server.

Anda dapat menghubungkan Pengontrol Manajemen tambahan (MC) ke BMC untuk memperluas kemampuan manajemen dasar. Sebagai contoh, sementara sistem utama dikendalikan oleh fungsi-fungsi BMC, MC terhubung untuk memantau berbagai subsistem: catu daya redundan, drive RAID, periferal.

MC datang dengan papan yang berdiri sendiri terpisah dari BMC pusat, itulah sebabnya mereka juga disebut Pengendali Satelit. Mungkin ada beberapa pengontrol tambahan, tetapi BMC pusat adalah satu.

Pengontrol terhubung ke BMC melalui antarmuka IPMB (Intelligent Platform Management Bus - Intelligent Platform Management Bus). IPMB adalah bus berbasis pada I2C (Inter-Integrated Circuit), di mana BMC mengarahkan perintah kontrol ke berbagai bagian arsitektur:

  • Berkomunikasi dengan pengendali tambahan (MC)
  • Membaca data sensor (Sensor)
  • Mengakses Penyimpanan Non-Volatile

Arsitektur IPMI diimplementasikan sehingga administrator jarak jauh tidak memiliki akses langsung ke komponen sistem. Misalnya, untuk menerima data dari sensor, administrator jarak jauh mengirimkan perintah ke BMC, dan BMC, pada gilirannya, mengacu pada sensor.

Selain mengirim perintah ke BMC, Anda dapat mengkonfigurasi eksekusi otomatis tindakan oleh pengontrol menggunakan mekanisme berikut:
PEF (Penyaringan Acara Platform)BMC menyimpan tabel acara dengan informasi tentang peristiwa mana yang harus ditanggapi dan tindakan apa yang harus diambil. Ketika BMC menerima pesan acara, ia membandingkan data dengan tabel dan memilih bagaimana merespons acara tersebut.
Reaksi meliputi tindakan seperti mematikan, me-reboot sistem, menghasilkan peringatan
Pengawas waktuTimer dikonfigurasikan untuk melakukan tindakan setelah periode waktu tertentu. Tindakan termasuk mematikan, me-restart server, mengganggu proses. Jika Anda menetapkan nilai batas waktu ke 0, tindakan akan segera dilakukan.
Bergantung pada implementasinya, Watchdog dapat menginterogasi sistem tentang keadaan sekali dalam interval waktu tertentu. Jika sistem tidak merespons (misalnya, ketika hang), sebuah tindakan dipicu
Firewall firmwareBeberapa tindakan BMC yang diterapkan di server yang berdiri sendiri dapat mengganggu pengoperasian platform modular (misalnya, server blade). Untuk mencegah kemungkinan masalah, firewall memungkinkan BMC untuk memblokir pengaturan, perintah IPMI, dan menulis operasi melalui antarmuka sistem.
Firewall juga berisi sekumpulan perintah yang melaluinya Anda dapat mengetahui perintah dan fungsi manajemen apa yang tersedia untuk platform tertentu

Penyimpanan tidak mudah menguap


Penyimpanan non-volatile tetap tersedia bahkan jika CPU server gagal, misalnya, melalui jaringan lokal; terdiri dari tiga bidang:

  • System Event Log (SEL) - Log Kejadian Sistem
  • Sensor Data Record (SDR) Repository - repositori yang menyimpan data sensor
  • Info Unit Unit Diganti (FRU) - informasi inventaris tentang modul sistem

Modul sistem menghasilkan (Event Generator) atau menerima peristiwa (penerima acara). MC bertindak sebagai generator acara, dan BMC dalam arsitektur dapat memainkan kedua peran tersebut. BMC menerima pesan acara melalui antarmuka sistem dan IPMB, lalu mencatatnya ke System Event Log (SEL).

Ada persyaratan wajib untuk menerapkan SEL:

  • SEL menyimpan setidaknya 16 peristiwa dalam memori
  • Informasi yang disimpan dalam SEL dapat diakses terlepas dari akses BMC dan keadaan platform yang dikelola

Perintah IPMI membaca dan menghapus SEL. Karena memori SEL terbatas, log secara berkala perlu diperiksa dan dibersihkan sehingga peristiwa baru dicatat. Dalam pengaturan BMC, Anda dapat mengonfigurasi SEL pembersihan otomatis. Pembersihan otomatis pada platform yang berbeda terjadi dengan cara yang berbeda - menghapus catatan lama untuk mengisi yang baru, atau membersihkan keseluruhan cerita.

Pesan acara membawa informasi dari area SDR Repository dan FRU Info.

Catatan SDR adalah data tentang jenis dan jumlah sensor, kemampuannya untuk menghasilkan peristiwa, dan jenis bacaan. SDR juga berisi catatan jumlah dan jenis perangkat yang terhubung ke IPMB. Catatan SDR disimpan di area memori yang disebut SDR Repository (Sensor Data Records Repository).

Catatan FRU berisi informasi tentang nomor seri dan model bagian dari berbagai modul sistem - prosesor, kartu memori, kartu I / O, pengontrol.

Informasi FRU dapat diberikan melalui MC (perintah IPMI) atau melalui akses ke chip memori non-volatile SEEPROM (Serial Electrically Memory Programmable Read Only Memory) yang terhubung melalui Private Management Bus. Pengontrol berkomunikasi melalui bus ini melalui perintah I2C tingkat rendah dengan perangkat yang tidak mendukung perintah IPMI.

Aplikasi praktis


Misalkan klien mengeluh tentang server macet, tetapi semuanya tertata dalam log sistem operasi. Kami melihat SEL - kami melihat kesalahan pada salah satu slot RAM yang menunjukkan informasi tentang slot di mana ia berada. Ubah - server mulai bekerja seperti jam.


Di atas, kami memeriksa modul dasar arsitektur IPMI. Sekarang mari kita lihat struktur perintah yang dikirimkan dan lihat antarmuka apa yang digunakan untuk koneksi jarak jauh.

Struktur Perintah IPMI


IPMI mengirim pesan permintaan respons. Permintaan adalah perintah. Memerintahkan memulai tindakan dan menetapkan nilai. Format permintaan-respons memungkinkan komunikasi simultan dari beberapa pengontrol di bus yang sama.

Pesan IPMI berisi kumpulan bidang dasar yang umum untuk semua perintah:

  • Fungsi Jaringan (NetFn) memberikan perintah nilai cluster yang menjadi milik perintah (perintah chassis, acara, penyimpanan, dll.)
  • Bidang Permintaan / Pengidentifikasi Respons diperlukan untuk membedakan antara permintaan dan respons
  • ID Peminta - informasi tentang sumber pesan. Misalnya, untuk IPMB informasi ini berisi LUN (Logical Unit Number) perangkat
  • ID responden menjawab permintaan kepada responden yang diinginkan
  • Command - unik dalam tim Fungsi Jaringan
  • Data - parameter tambahan (misalnya, data yang dikembalikan dalam respons)

Selain itu, respons selalu melewati Kode Penyelesaian, yang melaporkan hasil dari perintah. Jika kesalahan terjadi selama eksekusi permintaan, kode non-nol yang sesuai dengan acara tersebut akan dikirim.

Saluran melalui mana pesan dikirim dapat dibagi menjadi tiga kategori dengan antarmuka yang sesuai:

  • BMC - MC, Sensor, Penyimpanan (IPMB)
  • BMC - Platform Dikelola (Antarmuka Sistem)
  • BMC - Remote Administrator (LAN, Serial Interface)

Dalam model ini, BMC dapat dianggap sebagai saklar yang menghubungkan antar sistem (dalam terminologi spesifikasi - Bridging):

  • Serial ↔ IPMB
  • Serial Interface System Interface
  • LAN ↔ IPMB
  • LAN ↔ Antarmuka Sistem
  • Seri ↔ Bus Manajemen PCI
  • LAN ↔ Bus Manajemen PCI
  • Kombinasi lainnya, termasuk Serial ↔ LAN

Ketika dikirim melalui berbagai antarmuka arsitektur, set bidang dasar dilengkapi dengan nomor saluran dan bingkai. Misalnya, protokol IPMB menambahkan bidang alamat dan bidang untuk memverifikasi integritas data yang dikirimkan, dan LAN merangkum perintah IPMI dalam paket UDP / IP.

Antarmuka akses jarak jauh


Dalam versi awal IPMI, konsol jarak jauh terhubung ke modul BMC melalui antarmuka serial (Serial Interface). Spesifikasi IPMI v2.0 didasarkan pada penggunaan antarmuka jaringan (LAN Interface).

Antarmuka LAN disediakan melalui port jaringan BMC khusus dengan alamat IP-nya. Saat mengirimkan pesan IPMI melalui LAN, ada beberapa tahapan enkapsulasi:

  • Pesan IPMI dihasilkan dalam paket Sesi IPMI (nanti dalam artikel ini kita akan melihat lebih dekat pada pembentukan Sesi IPMI)
  • Paket Sesi IPMI dienkapsulasi menggunakan RMCP (Remote Management Control Protocol)
  • Paket RMCP terbentuk dalam datagram UDP
  • Frame Ethernet ditambahkan


Antarmuka serial untuk menghubungkan konsol jarak jauh ke BMC tidak lagi digunakan, tetapi diperlukan untuk mengimplementasikan dua fungsi:

  • Berbagi Port Serial
  • Serial-over-LAN (SoL)

Serial Port Sharing adalah kemampuan untuk menggunakan konektor seri umum antara BMC serial dan sistem yang dikelola. Biasanya, Serial Port Sharing digunakan untuk mengimplementasikan BIOS Console Redirection, yaitu mengarahkan konsol BIOS ke modul BMC.

Serial-over-LAN diperlukan untuk berinteraksi dengan komponen sistem yang hanya memahami antarmuka komunikasi serial. Anda juga dapat mengirim perintah dari konsol server langsung ke perangkat server (chip, kartu, disk, dan sebagainya). SoL diimplementasikan untuk bekerja bersama dengan fitur Berbagi Port Serial.

Sesi dan Otentikasi


Untuk LAN dan antarmuka serial, awal pengiriman pesan IPMI didahului dengan pembentukan sesi di mana paket data Sesi IPMI dihasilkan.

Pembentukan sesi adalah otentikasi pengguna tertentu. Sesi ini harus diaktifkan sebelum mengirim pesan IPMI sesuai dengan algoritma berikut:


  1. Konsol jarak jauh meminta data otentikasi dari BMC
  2. BMC mengirimkan respons tentang jenis otentikasi yang didukung (tidak ada, kata sandi, algoritma MD2 dan MD5, dll.)
  3. Konsol jarak jauh mengirimkan perintah tentang jenis otentikasi yang dipilih dan mengirimkan login pengguna
  4. Jika pengguna memiliki hak akses saluran, BMC mengirimkan respons yang berisi ID sesi. Berkat penugasan ID, beberapa sesi dapat bekerja secara bersamaan di satu saluran (sesuai dengan persyaratan spesifikasi - setidaknya empat sesi secara bersamaan)
  5. Konsol jarak jauh mengirimkan permintaan aktivasi sesi. Permintaan berisi ID sesi dan informasi otentikasi (nama pengguna, kata sandi, kunci - tergantung pada jenis otentikasi yang dipilih)
  6. BMC memverifikasi informasi pengguna, menyetujui ID sesi, dan mengirimkan respons aktivasi

Sesi diakhiri secara otomatis jika tidak ada tindakan yang diambil selama interval yang ditentukan atau jika koneksi terputus.

Akses ke BMC dapat diblokir dengan mengirimkan beberapa permintaan untuk aktivasi sesi secara bersamaan, maka semua sumber daya akan digunakan untuk melacak sesi yang memerlukan aktivasi. Untuk mencegah kemungkinan serangan, disarankan untuk menggunakan algoritma LRU (Terakhir Digunakan Terakhir) dalam implementasi BMC. Algoritme menegaskan ID sesi untuk permintaan aktivasi sesi paling awal. Misalnya, konsol jarak jauh diluncurkan melalui browser di sesi noVNC. Jika Anda membuka beberapa tab dengan sesi yang sedang berjalan, input teks akan tersedia di tab terbuka yang paling awal.

Ketika IPMI menjadi tidak tersedia


IPMI membantu memulihkan kesehatan server jika macet. Namun, mungkin saja sistem kendali jarak jauh menjadi tidak tersedia. Kerusakan IPMI dapat dibagi menjadi empat kategori:

  • Di tingkat jaringan. Port rusak, peralatan tidak berfungsi, cacat kabel, pasangan bengkok berkerut buruk
  • Di tingkat perangkat lunak. Bug sistem, hang modul BMC, perlu memperbarui firmware modul
  • Di tingkat perangkat keras. Terlalu panas, kegagalan komponen penting (memori, prosesor), cacat dalam arsitektur sistem
  • Di tingkat gizi. Pemadaman listrik BMC atau masalah catu daya server

Faktor-faktor ini mempengaruhi operasi IPMI dan server itu sendiri. Modul BMC adalah chip yang tidak tergantung server, dan kegagalan mikrokontroler ini menunjukkan kegagalan server dalam 90% kasus.

IPMI dalam praktiknya


Anda dapat mengelola server melalui IPMI melalui browser web, utilitas yang disediakan oleh produsen, dan utilitas open source.

Setiap implementasi IPMI memiliki antarmuka web, tetapi prinsip aksesnya tetap sama:

  1. Masukkan alamat IP port BMC di bilah alamat
  2. Masukkan nama pengguna dan kata sandi. Terkadang informasi ini ditunjukkan langsung pada peralatan.

Di Selectel, kami bekerja dengan modul IPMI dari Intel, Asus, dan Supermicro. Sebagai contoh, lihat antarmuka web Supermicro:


Fitur antarmuka web juga diterapkan dalam utilitas grafis Supermicro IPMIView:


Untuk mengelola peralatan melalui konsol Linux, utilitas yang sesuai diinstal (misalnya, Ipmitool untuk manajemen lokal dan jarak jauh atau IPMICFG untuk lokal). Kemudian, menggunakan perintah konsol, perangkat IPMI ditambahkan dan BMC dikonfigurasi.


Klien Selectel memiliki IPMI yang tersedia untuk konfigurasi server khusus dan khusus . IPMI diimplementasikan sebagai konsol KVM, yang berjalan dalam sesi noVNC melalui panel kontrol . Untuk melakukan ini, dalam kartu dengan informasi tentang server, klik ikon konsol di sudut kanan atas:


Konsol terbuka di browser dan menyesuaikan dengan ukuran layar. Jika diinginkan, konsol dapat digunakan bahkan melalui ponsel atau tablet.

Sesi terputus jika Anda keluar dari panel.


Kesimpulan


IPMI adalah komponen yang sepenuhnya otonom dari platform server, yang tidak bergantung pada sistem operasi, BIOS, atau CPU server.

Berkat IPMI, biaya pemeliharaan sistem server berkurang, dan umur administrator sistem menjadi lebih sederhana. Tidak perlu kehadiran permanen di dekat peralatan - pekerjaannya dikendalikan dari jarak jauh melalui jaringan.

Pada artikel ini, kami membahas komponen dasar IPMI. Namun, detail teknologinya sangat luas. Pengembang yang berbakat, mengandalkan spesifikasi, dapat membuat peralatan IPMI dan perangkat sumber terbuka, secara bersamaan menghilangkan kekurangan dari spesifikasi saat ini dan membuka kemungkinan baru untuk kendali jarak jauh.

Bahan yang digunakan dalam artikel:

Spesifikasi IPMI v2.0
Kertas putih Supermicro

Source: https://habr.com/ru/post/id439834/


All Articles