Ehdotus ylämontun seuraavaksi palvelimeksi (2019)

From PRK-wiki
Jump to: navigation, search

Iso palvelin

Räkkiin laitetaan palvelin, jossa on reilusti levytilaa, reilusti muistia ja vähintään 2 1000BASE-T-porttia. Palvelimella ajetaan virtuaalikoneita ja isäntäkäyttöjärjestelmän asetukset pidetään suhteellisen yksinkertaisina.

Yksi Ethernet-porteista kytketään internetiin ja toinen ylämontun lähiverkkoon. Palvelimelle tehdään näitä molempia varten bridget.

Yksi virtuaalikone palvelimella toimii reitittimenä internetin ja lähiverkon välillä, jolloin siinä on mahdollista käyttää reititinkäyttiksiä kuten OpenWrt tai PfSense.

Toinen virtuaalikone toimii shellipalvelimena mm. irssien ajamiseen. Jos siirtymä halutaan tehdä sulavasti asentamatta kaikkea uudestaan, voidaan vanhan prkelen levykuva siirtää suoraan tähän virtuaalikoneeseen.

Lisäksi voidaan tehdä tarpeen mukaan muita virtuaalikoneita esim. web-palveluille ja SDR-kokeiluille.

Raudan kytkeminen

Jos johonkin sovellukseen tarvitaan erikoisempaa rautaa kuten PCIe-laitteita, ne kannattaa laittaa erilliseen koneeseen, ettei isoa palvelinta tarvitse sammuttaa laitteiden asennusta varten.

Yleisimpiä tarpeita varten isossa palvelimessa voisi kuitenkin olla esimerkiksi USB3-kortti, joka annetaan yhden virtuaalikoneen ohjattavaksi VT-d:n (tai vastaavan) avulla. Tällöin USB-ajurien kaatuminen ei niin todennäköisesti kaada isäntäjärjestelmää.

Ohjelmistovalinnat

Mikä valitaan isäntäkäyttöjärjestelmäksi ja virtualisointialustaksi? Melko yksinkertainen ja joustava ratkaisu olisi Ubuntu tai Debian ja komentoriviltä käynnistetty qemu ilman managerisoftaa. Tällöin on mahdollista käyttää suoraan qemun ominaisuuksia kuten livemigratointia uudelle isäntäkoneelle. Lisäksi tätä yhdistelmää on jo aiemmin onnistuneesti käytetty stanalla web-palveluiden kehitykseen.

Managerisofta kuten libvirtd voisi toisaalta helpottaa virtuaalikoneiden automaattista käynnistystä ja sammutusta isäntäjärjestelmän kanssa. Myös muita virtualisointialustoja voidaan harkita, jos jollain on niistä kokemusta. Realistisia vaihtoehtoja lienee Xen (dom0:na esim. Ubuntu), VMware ESXi ja FreeBSD:n bhyve. Ei varmaan ainakaan Virtualbox (tehty vähän eri käyttöön), Hyper-V (ei varmaan haluta Windowsia) eikä OpenBSD:n vmm (ei tue "moniytimisiä" virtuaalikoneita eikä PCI-passthroughta).

Palvelinkoneen minimivaatimukset

x86-64-käskykantaa tukevia koneita on eniten saatavilla, joten todennäköisesti tuleva palvelinkin perustuu siihen. Helppoa virtuaalikoneiden ajamista varten vaaditaan tällöin VT-x- tai AMD-V-laajennus. Iso plussa on myös VT-d- tai AMD-Vi-laajennus, joka helpottaa PCIe-laitteiden käsittelyä virtuaalikoneesta.

Prosessoriytimiä ei tarvitse olla älyttömän paljoa, ja tehonkulutuksen hillitsemiseksi yli 8-ytiminen kone ei välttämättä ole edes toivottava.

Muistia saisi olla ainakin 16 GB, ettei se lopu heti kesken virtuaalikoneiden kanssa.

Levytilaa saisi olla ainakin 2 TB, jotta sinne mahtuu varmasti levykuvat vanhasta prkelestä ja stanasta ja tilaa jää uusillekin asennuksille. Redundantit levyt on iso plussa.

Tiivistelmä minimivaatimuksista
Prosessori Intel x86-64 + VT-x, VT-d tai AMD64 + AMD-V, AMD-Vi
Massamuisti 2 * 2 TB kiintolevyt ja RAID1
RAM 16 GB
Liitännät 2 * 1000BASE-T, USB3 (PCIe-kortilla tai suoraan emolevyllä)
Tehonkulutus << kW (< 200 W idle?)

Ois kiva olla

Ominaisuuksia, jotka eivät ole pakollisia, mutta voivat olla plussaa:

  • Useampi Ethernet-portti tarkempaan verkkojen erotteluun, esim. radioamatööriverkko, palomuurattu internet tai Ethernetillä kytkettävät softaradiot
  • Enemmän RAMia. Helpottaa resurssien jakoa virtuaalikoneille.
  • Enemmän levytilaa, mahdollisesti RAID6 tai RAIDz2. Helpottaa resurssien jakoa virtuaalikoneille.
  • Prosessorin ominaisuuksia: EPT, (VMX Unrestricted mode) (virtualisointiin), AVX, (AVX2) (signaalinkäsittelyyn)
  • RS232-portteja (voi olla myös USB-adapterilla)
  • ECC-muisti
  • Kahdennetut virtalähteet

Mahdollinen toteutus ja budjetti

PC

Etsitään käytetty, mutta riittävän uusi ja hyväkuntoinen PC. Varmistetaan, että prossussa on halutut ominaisuudet ja emolevylle menee ainakin 4 muistikampaa.

Laitetaan PCIe-väylään Ethernet- ja USB3-kortit. Näitä löytyy jo kerholta.

Sopivaa muistia saattaa löytyä bonkkina tai sitten ei. Jos ei lyödy, joudutaan ostamaan.

Ostetaan 2 uutta 2-4 TB levyä. RAIDin kannalta kannattaa ehkä ostaa 2 erilaista, mutta samankokoista levyä. Hinnaksi tulee jotain väliltä 140-300 € ( https://www.verkkokauppa.com/fi/catalog/9748d/2-4-TB?sort=price ).

Huonot puolet: ECC-muistia ja kahdennettuja virtalähteitä ei välttämättä saada. Tämä kasvattaa muistikorruptiosta johtuvien outojen ongelmien sekä virtalähteen hajoamisesta johtuvien katkosten todennäköisyyttä. Täytyy harkita, kuinka suuri merkitys näillä on.

Hyvät puolet: PC-rautaa ja varaosia on hyvin saatavilla, mikä toisaalta helpottaa hajonneiden osien korjaamista. Koneet ovat hiljaisia ja tehonkulutus on kohtuullinen, mikä tekee ylämontusta hiljaisemman, viileämmän ja siten mukavamman paikan keskustelulle ja radioyhteyksien pitämiselle.

Palvelinrauta

Etsitään käytettyä palvelinrautaa vastaavilla spekseillä.

Huonot puolet: Saadaanko käytettynä riittävän uutta palvelinrautaa, jotta siinä on halutut ominaisuudet? Usein myös kovempi melu ja lämmöntuotto.

Hyvät puolet: ECC-muisti saattaa parantaa luotettavuutta. Palvelimiin saattaa myös saada enemmän muistia ja levyjä kiinni kuin pöytäkoneisiin.