Tautan ethernet langsung antara dua server

13

Katakanlah saya punya dua server yang membutuhkan latensi super rendah (Database, file, dll.). Apakah mungkin untuk langsung menghubungkan dua server dengan 10GbE, sehingga setiap server memiliki 1 (di dunia nyata itu akan memiliki 2) koneksi ke jaringan 'utama', tetapi 1 kartu jaringan dengan kabel ethernet yang terhubung langsung ke yang kedua server, tidak ada switch atau router, hanya koneksi langsung

                         Internet/Datacenter
                                 |
                                 |
                                 |
                                 |
                                 |
                                 |
                                 |
                        --------------------
                        |                  |
            ------------|      Switch      |-----------
            |           |                  |          |
            |           --------------------          |
            |                                         |
            |                                         |
            |                                         |
            |                                         |
            |                                         |
            |                                         |
            |                                         |
  Network Card 1 (eth0)                     Network Card 1 (eth0)
            |                                         |
  --------------------                      --------------------
  |                  |                      |                  |
  |     Server 1     |                      |     Server 2     |
  |                  |                      |                  |
  --------------------                      --------------------
            |                                         |
  Network Card 2 (eth1)                     Network Card 2 (eth1)
            |                                         |
            |                                         |
            |               Direct 10GbE              |
            -------------------------------------------

Pertanyaan pertama saya adalah, apakah ini mungkin? Apakah mereka memerlukan layanan khusus / tidak khusus yang dikonfigurasi agar mereka dapat berbicara melalui jaringan ini selain dari file standar /etc/sysconfig/network-scripts/? Mereka berdua akan memiliki IP statis pada eth1 tetapi bagaimana hal-hal seperti routing bekerja? Saya bukan ahli jaringan jadi ini mungkin pertanyaan n00b-ish

Pertanyaan kedua, apakah ada gunanya? Apakah ada keuntungan melakukan hal ini daripada membiarkan mereka berkomunikasi melalui koneksi jaringan standar melalui switch, atau memberi mereka jaringan khusus kedua hanya untuk berkomunikasi intra-server (Karena bandwidth akan digunakan pada jaringan standar oleh klien mengakses server) . Dengan asumsi latensi adalah prioritas.

Saya tahu ada beberapa masalah dengan metode ini, seperti ketika kami datang untuk menambahkan server ke-3 kami eter harus memberikan setiap server kartu jaringan yang lain dan mungkin membuat beberapa replikasi segitiga yang sangat rumit, tetapi karena ini adalah hipotesis mari kita abaikan itu.

Dan karena latensi adalah masalah utama, apakah serat akan lebih baik daripada ethernet (Kecepatan tidak penting selama dapat melakukan beberapa Gb / detik)

Saya mengutarakan pertanyaan ini dari POV linux, karena itulah latar belakang saya, tetapi itu bisa diterapkan ke server / perangkat apa pun

Noda
sumber
1
Sebagai catatan Anda harus menggunakan UDP dan bukan TCP untuk mendapatkan latensi dengan mengorbankan kehilangan jaminan pengiriman. Tergantung pada ukuran paket Anda, frame jumbo bisa membantu juga dengan membatasi jumlah paket.
Shadok
@ Shadok UDP tidak ideal untuk server basis data, server file dll. Tetapi untuk pemantauan, pencatatan dan hal-hal tidak penting lainnya, UDP adalah pilihan yang jauh lebih baik. Saya setuju. Saya pikir pengaturan jaringan seperti ini kemungkinan besar akan menjadi sesuatu yang membutuhkan pengiriman terjamin tetapi paket UDP melalui jaringan utama memiliki banyak kegunaan.
Smudge
Ok, saya mendapat kesan bahwa latensi adalah perhatian utama Anda dan mungkin Anda memiliki cara untuk memeriksa integritas atau mengakui pengiriman paket dengan cara yang berbeda dari TCP. Satu ide yang baru saja saya miliki adalah menerapkan penghitung sederhana yang bertambah pada setiap paket dan kemudian meminta yang hilang lagi atau hanya menjatuhkannya, tapi saya sedang
ngelantur
@ Shadok - Jika Anda berhasil mengatur koneksi UDP ke database, itu dapat menyebabkan perilaku yang tidak terduga dan korupsi. Plus, Anda pada dasarnya akan mengubah UDP menjadi TCP dengan mengurutkan paket dan meminta yang hilang. Itulah gunanya TCP. Akan lebih baik untuk menggemukkan ethernet hingga 100g atau menggunakan koneksi serat
glyph

Jawaban:

9

Tidak ada alasan mengapa Anda secara teknis tidak dapat melakukan ini.

Saya mungkin akan melakukan sesuatu yang serupa, dalam situasi seperti itu, sebenarnya. Dari sudut pandang linux murni, sangat mudah, cukup berikan koneksi alamat IP dengan bitmask / 30, memberi Anda 2 alamat IP, maka itu adalah tautan Point-to-Point yang sederhana.

Jika Anda ingin mengembangkan jaringan, Anda bisa mendapatkan saklar 10GE, dan kemudian memiliki VLAN terpisah untuk lalu lintas antar server. Ada beberapa gear yang sangat mengkilap di jajaran switch Force10 yang dapat melakukan switching 10-line-rate, dengan buffer yang sangat besar.

Tom O'Connor
sumber
5

Saya tidak bisa mengomentari sudut pandang Linux tetapi saya hanya akan menggunakan pengetahuan saya dan mengajukan beberapa pertanyaan lagi.

Apakah Anda yang bergantung pada latensi rendah dan Anda perlu menjaga server ini tetap sinkron? Apakah mereka berdua menjalankan database atau sesuatu? 10GbE harus mencukupi sebagian besar kebutuhan 2 server agar tetap sinkron. Saya akan segera lebih suka menghabiskan uang pada saklar yang layak di tengah 2 daripada pergi rute yang Anda lihat.

Anda bisa dengan saklar yang layak menandai port ini untuk memprioritaskan lalu lintas dan bahkan QoS lalu lintas yang perlu real time.

Pikiran saya.

Zapto
sumber
Memberi mereka switch / 'jaringan pribadi' sendiri akan menjadi pilihan yang jauh lebih baik daripada koneksi langsung, dengan begitu jika kita perlu menambahkan lebih banyak server nanti akan jauh lebih mudah. Juga memprioritaskan lalu lintas adalah yang baik, saya tidak benar-benar menyadari Anda bisa melakukan itu, apakah itu tergantung pada fitur saklar / produsen atau itu hal yang cukup standar?
Smudge
QoS pada switch sangat tergantung pada vendor, beberapa mendukungnya, beberapa mendukungnya dengan cara yang sangat eksklusif, beberapa mendukungnya sesuai RFC, tetapi Anda mungkin harus memilikinya di semua perangkat di jaringan untuk melihat efek yang layak.
Tom O'Connor
+1 karena banyak sakelar bekerja pada apa yang pada dasarnya kabel sekarang. Jaringan yang dikonfigurasi dengan benar akan menguntungkan dalam berbagai cara yang telah dibahas, dan juga akan membantu pencarian kesalahan.
Dan
5

Saya sebenarnya telah melakukan ini di antara dua laptop. Sebagian besar adapter LAN modern memiliki negosiasi otomatis di antara mereka sehingga Anda dapat menggunakan kabel LAN biasa.

Tetapkan alamat IP statis yang tidak berada dalam kisaran yang sama dengan subnet lainnya yang Anda gunakan - misalnya, jika sistem saya menggunakan subnet 192.168.xx, saya menggunakan subnet 10.0.0.x di antara mereka. Kalau tidak, itu hanya akan berfungsi

Journeyman Geek
sumber
2

Tidak ada keuntungan menggunakan pengaturan seperti itu. sakelar hari ini cepat, sehingga Anda tidak pernah menghadapi latensi yang terlihat karena sakelar. dan skalabilitas juga akan menjadi masalah besar bagi Anda. Juga, akan ada masalah pengaturan perutean juga, karena Anda harus memelihara DUA jaringan terpisah, bukan hanya satu.

Farhan
sumber
2
Keuntungan dalam situasi saya adalah koneksi langsung menghilangkan kebutuhan untuk menggunakan enkripsi SSL pada koneksi database, karena itu akan melalui kabel pribadi dan bukan saklar semi-pribadi di mana kata sandi dapat diendus.
mesin terbang
2
  1. Saya cukup yakin Anda akan memerlukan kabel cross over untuk menghubungkan Server 1 ke Server 2.
  2. Anda akan memiliki latensi yang sangat rendah tetapi latensi melintasi LAN dengan sakelar modern hampir mendekati nol. Aku benar-benar ragu Anda akan melihat setiap keuntungan kinerja yang terukur.
SBWorks
sumber
10
Gb dan 10Gb melakukan auto-MDIX, jadi Anda tidak perlu crossover. Itu hanya untuk 10/100.
MDMarra
Saya pikir Anda benar tentang itu, @MarkM Saya tidak berpikir saya pernah mencobanya di kehidupan nyata.
SBWorks
2

Keamanan vs. Kinerja vs. uang.

  • Jika lalu lintas saluran belakang tinggi dan uang rendah, gunakan koneksi langsung. Ini dilakukan setiap hari dan dalam banyak situasi dunia nyata dapat memiliki kinerja yang lebih baik daripada saklar yang sudah kelebihan beban.

  • Jika lalu lintas saluran belakang rendah dan keamanan menengah atau rendah, ikatan NIC untuk meningkatkan throughput Internet secara keseluruhan - dua koneksi dari setiap server ke internet, NICS multi-rumah untuk "mengisolasi" lalu lintas replikasi (ruang IP terpisah membuatnya lebih mudah untuk firewall , audit, lakukan diagnosa penelusuran paket, dll.).

  • Jika keamanan tinggi dan banyak uang gunakan saklar. Lebih mudah berkembang. Lebih mudah untuk mendiagnosis masalah.

Dalam skenario yang diberikan pembelian switch tidak akan dijamin. Memanfaatkan switch yang ada dengan segmentasi VLAN mungkin masuk akal. Meskipun, saya tidak dapat melihat alasan untuk menyambungkan ke saklar kecuali server yang Co-lo'd, yaitu, tidak dapat diakses secara fisik. Buang-buang dua port switch kecuali paket capture / debugging aktif.

joe
sumber