Ubuntu operatsioonisüsteemi ettevalmistamine: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
2. rida: 2. rida:
   
 
Käesolevas tekstis kirjeldatud viisil ettevalmistatakse kõigi labori k8s klastrite aluseks olevad node'id. St nad on tavalised Ubuntu v. 22.04 operatsioonisüsteemid.
 
Käesolevas tekstis kirjeldatud viisil ettevalmistatakse kõigi labori k8s klastrite aluseks olevad node'id. St nad on tavalised Ubuntu v. 22.04 operatsioonisüsteemid.
  +
  +
===Paigaldamine===
  +
  +
TODO
  +
  +
<pre>
  +
root@mall-ubuntu-2604-20260614:~# df -h -t ext4 -t vfat -h -T
  +
Filesystem Type Size Used Avail Use% Mounted on
  +
/dev/mapper/system-root ext4 12G 3.3G 8.2G 29% /
  +
/dev/vda2 ext4 974M 187M 721M 21% /boot
  +
/dev/vda1 vfat 762M 6.4M 756M 1% /boot/efi
  +
  +
root@mall-ubuntu-2604-20260614:~# mokutil --sb-state
  +
SecureBoot enabled
  +
</pre>
  +
  +
Tarkvara paigaldamine
  +
  +
<pre>
  +
root@mall-ubuntu-2604-20260614:~# apt-get install rsync driverctl joe tcpdump ethtool lsscsi net-tools socket libcap-ng-utils libbpf-tools ltrace
  +
</pre>
   
 
===Ubuntu operatsioonisüsteemi ettevalmistamine===
 
===Ubuntu operatsioonisüsteemi ettevalmistamine===

Redaktsioon: 14. juuni 2026, kell 23:24

Sissejuhatus

Käesolevas tekstis kirjeldatud viisil ettevalmistatakse kõigi labori k8s klastrite aluseks olevad node'id. St nad on tavalised Ubuntu v. 22.04 operatsioonisüsteemid.

Paigaldamine

TODO

root@mall-ubuntu-2604-20260614:~# df -h -t ext4 -t vfat -h -T
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/system-root ext4   12G  3.3G  8.2G  29% /
/dev/vda2               ext4  974M  187M  721M  21% /boot
/dev/vda1               vfat  762M  6.4M  756M   1% /boot/efi

root@mall-ubuntu-2604-20260614:~# mokutil --sb-state
SecureBoot enabled

Tarkvara paigaldamine

root@mall-ubuntu-2604-20260614:~# apt-get install rsync driverctl joe tcpdump ethtool lsscsi net-tools socket libcap-ng-utils libbpf-tools ltrace

Ubuntu operatsioonisüsteemi ettevalmistamine

Ubuntu operatsioonisüsteem paigaldatakse tavalise Ubuntu installeri abil. Praktiliselt võiks teha ühe arvuti valmis ning seejärel teda nö paljundada. Seejuures võiks igaks juhuks machine-id muuta unikaalseks

# rm /etc/machine-id /var/lib/dbus/machine-id
# dbus-uuidgen --ensure
# cp /etc/machine-id /var/lib/dbus/machine-id
# reboot
  • tekitada laborit teenindavasse dns serverisse dns nimed node'ide kohta
  • Paigaldada tavaline Ubuntu pigem minimaalsete valikutega (st mitte desktop tüüpi)
  • Lisaks peab olema paigaldatud tarkvara: apparmor, iptables ja open-iscsi
  • Arvutitel peab olema kellaaeg õige (tänu ntp kliendi seadistustele)

Tulemuse kontrollimine

  • node'id peavad üksteist oma privaatses subnetis nägema
  • node'id peavad nägema internetti
  • dns nimelahendus töötab
  • arvuti kellaaeg on õige

Misc

SSH

Ubuntu 26.04 kuulab võimalusel (st kui nt PVE virtuaalse arvuti jaoks on vsock sisse lülitatud) kolme protokolli peal ssh kliente

root@ubuntu-2604-01:~# systemctl list-sockets | grep ssh
0.0.0.0:22                                      ssh.socket                           ssh.service
[::]:22                                         ssh.socket                           ssh.service
vsock::22                                       sshd-vsock.socket                    -
/run/ssh-unix-local/socket                      sshd-unix-local.socket               -

systemd-networkd

Tegelemise kaalutlus

  • vähendada süsteemi ründepinda - suhteliselt tundlik protsess töötab ja ei ole sisuliselt vajalik
  • nt vaevalt, et sobiks, et süsteemis töötab iscsi server target kuulab port 3260/tcp ilma sisaldamata reaalset lun'i vms

systemd-networkd on systemd service

root@zabbix-pub-01:~# systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)
     Active: active (running) since Tue 2026-06-02 11:52:17 EEST; 1h 45min ago
TriggeredBy: ● systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)
             man:org.freedesktop.network1(5)
   Main PID: 676 (systemd-network)
     Status: "Processing requests..."
      Tasks: 1 (limit: 2115)
   FD Store: 1 (limit: 512)
     Memory: 1.6M (peak: 1.9M)
        CPU: 440ms
     CGroup: /system.slice/systemd-networkd.service
             └─676 /usr/lib/systemd/systemd-networkd

Jun 02 11:52:17 zabbix-pub-01 systemd-networkd[1744]: enp6s20: Link UP
Jun 02 11:52:17 zabbix-pub-01 systemd-networkd[1744]: enp6s20: Gained carrier
...

Osutub, et vaikimisi Ubuntu 24.04, 26.04 jt systemd-network kuulab af_packet kihis lldp sõnumeid

root@zabbix-pub-01:~# ss -lnp -A 'packet'
Netid       State        Recv-Q       Send-Q        Local Address:Port          Peer Address:Port       Process
p_raw       UNCONN       0            0                   [35020]:enp6s18                   *            users:(("systemd-network",pid=676,fd=18))
p_raw       UNCONN       0            0                   [35020]:enp6s19                   *            users:(("systemd-network",pid=676,fd=19))
p_raw       UNCONN       0            0                   [35020]:enp6s20                   *            users:(("systemd-network",pid=676,fd=20))

kus

  • systemd-network - protsessile vastav kasutajanimi
  • pid - protsessid pid
  • fd - asjasse puutuvad file descriptor väärtus (protsessi vaatest, st mitte süsteemi globaalsest vaatest)

ning küsides protsessi pid=676 käest, mis ta kuulab

root@zabbix-pub-01:~# lsof -n -P -p 676 | grep SOCK_R
systemd-n 676 systemd-network   18u     pack              52583      0t0 35020 type=SOCK_RAW
systemd-n 676 systemd-network   19u     pack              52592      0t0 35020 type=SOCK_RAW
systemd-n 676 systemd-network   20u     pack              52600      0t0 35020 type=SOCK_RAW

kusjuures seda 676 protsessi omajagu nö laiendatakse capablities abil (protsess kuulub kasutajale systemd-network, st mitte root)

root@zabbix-pub-01:~# pscap -p 676
ppid  pid   uid              command             capabilities
1     676   systemd-network  systemd-network     net_bind_service, net_broadcast, net_admin, net_raw @ +

root@zabbix-pub-01:~# ps -u systemd-network -f
UID          PID    PPID  C STIME TTY          TIME CMD
systemd+    1744       1  0 11:52 ?        00:00:00 /usr/lib/systemd/systemd-networkd

tulemusena saab systemd-network arvu ethernetis olevate switchide jutust, nt (eeldusel, et on switche mis räägivad)

root@zabbix-pub-01:~# networkctl lldp
LINK    CHASSIS-ID        SYSTEM-NAME CAPS        PORT-ID    PORT-DESCRIPTION
enp6s18 16:18:9c:2d:31:86 -           ..b........ tap50194i0 -

Capability Flags:
b - Bridge

1 neighbors listed.

Välja lülitamiseks sobib kasutada sellist seadistust (emitlldp on väidetavalt niikuinii 'no' vaikimisi)

root@zabbix-pub-01:~# mkdir /etc/systemd/network/10-netplan-enp6s18.network.d
root@zabbix-pub-01:~# cat /etc/systemd/network/10-netplan-enp6s18.network.d/override.conf
[Network]
LLDP=no
EmitLLDP=no

Teoreetiliselt võiks töötada

root@zabbix-pub-01:~# networkctl edit --drop-in=override.conf @enp6s18

Tööpõhimõte

  • kernel ja udev avastavad võrguseadme ja teevad esmased seadistused (seade saab nime jms)
  • netplan genereerib /etc/netplan/50-cloud-init.yaml alusel systemd-network jaoks seadistuse - /run/systemd/network/10-netplan-enp6s18.network
  • inimene on veel lisanud seadistuse täpsustusi - /etc/systemd/network/10-netplan-enp6s18.network.d/override.conf
  • systemd (st systemd-network) hakkab rakendama seadistust kasutades kõiki asjasse puutuvaid nö fragmente

Muudatuse kehtestamiseks

root@zabbix-pub-01:~# systemctl restart systemd-networkd
root@zabbix-pub-01:~# ss -lnp -A 'packet'
Netid       State        Recv-Q       Send-Q        Local Address:Port          Peer Address:Port       Process
p_raw       UNCONN       0            0                   [35020]:enp6s19                   *            users:(("systemd-network",pid=676,fd=19))
p_raw       UNCONN       0            0                   [35020]:enp6s20                   *            users:(("systemd-network",pid=676,fd=20))

Misc

  • systemd-networkd on Ubuntu spetsiifika
  • Debian kasutab nn ifupdown2 põhist 'root@zabbix-01:~# systemctl status networking' lahendust
  • NetworkManager teeb kogu selle loo veel segasemaks, aga tavaliselt server lahenduse puhul NetworkManager'i ei kasutata (desktop fookus)

Kasulikud lisamaterjalid