GNU/Linux >> Belajar Linux >  >> Cent OS

Discovery TimeOut “iscsiadm” Dengan Dua Atau Lebih Antarmuka Jaringan di CentOS/RHEL

Masalahnya

waktu penemuan iscsiadm habis saat kedua antarmuka aktif, tetapi berfungsi dengan baik dengan satu antarmuka aktif.

# iscsiadm -m discovery -t st -p x.x.x.x
iscsiadm: connect to x.x.x.x timed out
iscsiadm: connect to x.x.x.x timed out

Solusinya

Masalah ini dapat terjadi saat dua atau lebih antarmuka Ethernet tersambung ke subnet yang sama atau saat sambungan iSCSI dikonfigurasi untuk menggunakan antarmuka tertentu. Dalam kasus seperti itu ketika paket dikirim ke antarmuka yang salah maka OS akan berpikir itu dikirim ke port tertutup atau tujuan yang salah dan waktu habis. Untuk mengatasi masalah ini, kita perlu mengonfigurasi untuk menerima paket yang dirutekan secara asimetris pada kedua antarmuka klien iSCSI yang menerima pesan kesalahan ini:

1. Setel net.ipv4.conf.all.arp_ignore sysctl ke 1 untuk memaksa setiap antarmuka hanya menjawab permintaan ARP untuk alamatnya sendiri. Atau setel net.ipv4.conf.[INTERFACE].arp_ignore ke 1 untuk setiap antarmuka yang merupakan jalur ke penyimpanan iscsi.

Misalnya, di /etc/sysctl.conf :

# vi /etc/sysctl.conf
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2

Atau, untuk hanya mengaturnya untuk antarmuka yang relevan (dengan asumsi mereka adalah eth0 dan eth1):

# vi /etc/sysctl.conf
net.ipv4.conf.eth0.rp_filter=0
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce=2
net.ipv4.conf.eth1.rp_filter=0
net.ipv4.conf.eth1.arp_ignore = 1
net.ipv4.conf.eth1.arp_announce=2

2. Terapkan pengaturan menggunakan perintah di bawah ini:

# sysctl -p /etc/sysctl.conf

3. Periksa apakah pengaturan baru yang diterapkan berhasil dijalankan:

# sysctl -a

4. Sekarang, hapus file lama dari /var/lib/iscsi/ifaces:

# rm -rf /var/lib/iscsi/ifaces

Ini akan menyelesaikan batas waktu penemuan iscsi ketika dua antarmuka dikonfigurasi.

Untuk CentOS/RHEL 7

Perhatikan bahwa jika sistem telah menginstal CentOS/RHEL 7, silakan masukkan parameter sysctl di atas dalam file /etc/sysctl.d/99-sysctl.conf dan kemudian jalankan perintah di bawah ini untuk membaca ulang pengaturan dari file konfigurasi:

# sysctl --system

Catatan

Masalah ini dapat terjadi jika sambungan iSCSI dikonfigurasi untuk menggunakan antarmuka jaringan tertentu. Jika paket iscsi dikirim ke antarmuka yang salah, Linux akan merespons seolah-olah data dikirim ke port tertutup dan mengirim paket RST. Selama data yang diterima masuk melalui antarmuka yang salah, koneksi akan tetap terputus dan tidak dapat dipulihkan.

Ini dapat terjadi ketika beberapa adaptor terhubung ke subnet yang sama. Secara default, Linux akan menjawab semua permintaan ARP untuk salah satu alamat IP sistem terlepas dari antarmuka mana permintaan ARP itu berasal. Jika antarmuka yang berbeda menjawab permintaan ARP untuk alamat IP koneksi iscsi, lalu lintas akan dialihkan ke antarmuka yang salah dan koneksi akan gagal. Mengaktifkan arp_ignore memaksa antarmuka jaringan untuk hanya menjawab permintaan ARP untuk alamatnya sendiri. Ini mencegah jawaban ARP dari antarmuka yang salah dan menjaga koneksi iscsi tetap berfungsi.


Cent OS
  1. Cara Memulai Ulang Layanan Jaringan di CentOS 8 atau RHEL 8

  2. Centos – Lalu Lintas Jaringan Terpisah Pada Dua Antarmuka Jaringan?

  3. CentOS / RHEL 7:Mengonfigurasi alamat IP statis menggunakan file konfigurasi antarmuka jaringan

  1. Cara menonaktifkan NetworkManager di CentOS / RHEL 7

  2. CentOS / RHEL 7 :Cara mengonfigurasi Network Bonding atau NIC teaming

  3. Discovery TimeOut “iscsiadm” Dengan Dua Atau Lebih Antarmuka Jaringan di CentOS/RHEL

  1. Mengonfigurasi antarmuka jaringan dengan alamat IP Statis pada RHEL 7

  2. CentOS / RHEL 7 :Cara mengubah nama Antarmuka Jaringan

  3. Cara Mengonfigurasi Teaming Antarmuka Jaringan di CentOS/RHEL 7 dan 8