Alerik klustret
- CPU: 2 st AMD opteron™ 6220 8 kärnor @3.0 Giga hurtz
- Primär Minne: 16 slots halv bestyckade ~ 32 GB du kan kombinera 2 noder för 64 GB RAM
- MGNT: IPMI
- Infiniband(IB): x4 dvs 40 Gbps mellan noder. Switch med 36 portar finns. Se [[postmord]].
- Produktsida: https://www.supermicro.com/aplus/system/2u/2022/as-2022tg-hibqrf.cfm
- Labbnoderna sitter i rad 2 skåp 5. Även känt som skåpet som är tungt att flytta.
- Noder i drift: knocke och smocke
Noteringar
- Alerik noderna borde köra egen HP switch, 12 noder x 2 RJ45:or (Mgnt och ETHERNET)
- Labbnätet (192.168.12.XYZ): DHCP-rangen börjar på .32, så om du ska sätta fasta IP:n gör det mellan .8 och .31
sudo arp-scan -Q 12 192.168.12.0/24
på t.ex. thor ger listan över aktiva ipmi, noder och switch- mellanox och supermicro
- Behöver labbnoden ett fast ip i dhcp servern peta på systemgruppen.
Diskar per nod
Bokstav är nod relaterad. Vänster till höger sett från framsidan.
A B C D
A2 B2 C2 D2
. . . .
. . . .
A0 B0 C0 D0
Labb nod setup
- Konfigurera switchen så porten ligger på vlan 12 d.v.s. att labbnätet har 'untagged' och resten 'no'
- Använd en live USB med önskat OS eller installera ett med PXE miljön.
IPMI
apt install ipmitool
modprobe ipmi_devintf; modprobe ipmi_si
ipmitool user list 1
ipmitool user set password 2
# 2 är id för Admin- Man kan logga in genom att ange authtype none dvs säkerhetsrisk.
- Använd
ipmitool lan set 1 auth loginName MD5 PASSWORD
(Finns MD2 MD5 PASSWORD, Du lär köra PASSWORD eller MD5) - Med ipmitool, confa statisk ip, gw, subnetmask
- Testa med
ipmitool -H IP -U ADMIN <kommando att skicka in>
- ex:
ipmitool -H 192.168.12.79 -U ADMIN power on
ipmi
Styr en nod i taget. Funkar även när noden är i standby. Det är som kvm fast över internet. Brukar fixa konsol över ethernet, mounta virtuella usb/dvd images. Kan hantera moderkortet på distans t.ex reboot, cold boot etc. ipmi tools can användas som client server (mgnt NIC:en).
Maskin med ipmi kopplat till mgnt nätverket
Exempel hur en konfad burk ser ut. Notera 192.168.11.33 är mgnt nät vlan 11 dvs untagged i switchen. Samt 194.47.250.33/24 är publika ip adressen, 33 är gemensamt.
Feel free to harden the setting even more.
rocketlo@knocke ~ % sudo ipmitool lan print 1
Set in Progress : Set Complete
Auth Type Support : NONE MD2 MD5 PASSWORD
Auth Type Enable : Callback : MD2 MD5 PASSWORD
: User : MD2 MD5 PASSWORD
: Operator : MD2 MD5 PASSWORD
: Admin : MD2 MD5 PASSWORD
: OEM : MD2 MD5 PASSWORD
IP Address Source : Static Address
IP Address : 192.168.11.33
Subnet Mask : 255.255.255.0
MAC Address : 00:25:90:53:0b:cc
SNMP Community String : public
IP Header : TTL=0x00 Flags=0x00 Precedence=0x00 TOS=0x00
BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Disabled
Default Gateway IP : 192.168.11.1
Default Gateway MAC : 00:00:00:00:00:00
Backup Gateway IP : 0.0.0.0
Backup Gateway MAC : 00:00:00:00:00:00
802.1q VLAN ID : Disabled
802.1q VLAN Priority : 0
RMCP+ Cipher Suites : 0,1,2,3,6,7,8,11,12
Cipher Suite Priv Max : aaaaXXaaaXXaaXX
: X=Cipher Suite Unused
: c=CALLBACK
: u=USER
: o=OPERATOR
: a=ADMIN
: O=OEM
Bad Password Threshold : Not Available
rocketlo@knocke ~ % ip a
4: br0: <cut>
inet 194.47.250.33/24 brd 194.47.250.255 scope global br0
ipmi setup lathund
Notera kernel modulerna finns kanske inte i alla linux distros eller kräver extra steg. Detta script utgår ifrån debian.
#/bin/bash
echo 'start'
echo 'modprobe 2 modules'
sudo modprobe ipmi_devintf; sudo modprobe ipmi_si
echo 'ip för nodens mgnt:'
read IPMGNT
IPGW='192.168.12.1'
echo 'ip för GW:' $IPGW
NETMASK='255.255.255.0'
echo 'netmask:' $NETMASK
echo 'install ipmitools'
sudo apt update
sudo apt install ipmitool -y
echo 'list users: '
sudo ipmitool user list 1
sudo ipmitool lan print 1
echo 'wanna overwrite ADMIN passwd and set new network settings[nN or yY]?'
read choice
case $choice in
[nN]) exit;;
*);;
esac
echo 'Set ADMIN password: '
sudo ipmitool user set password 2
echo 'static ip: set'
sudo ipmitool lan set 1 ipsrc static
sudo ipmitool lan set 1 ipaddr $IPMGNT
sudo ipmitool lan set 1 netmask $NETMASK
sudo ipmitool lan set 1 defgw ipaddr $IPGW
echo 'Resultat: '
sudo ipmitool lan print 1
echo 'Klart! kolla och kör sen sudo ipmitool power off | cycle | soft'
ipmi commands 101
(källa: https://community.pivotal.io/s/article/How-to-work-on-IPMI-and-IPMITOOL)
(tips: https://www.xkyle.com/7-underused-ipmitool-commands/)
Purpose
The Intelligent Platform Management Interface (IPMI) is a standardized computer system interface used by System Administrators for out-of-band management of computer systems and monitoring of their operation. Out-of-band is also referred to the LOM (Lights-Out Management) involves the use of a dedicated management channel for device maintenance.
A number of options are available to manage the device remotely. There are vendor-specific server management technologies available. HP's Integrated Lights-out or iLO, Dell's Dell Remote Access Controller or DRAC and IBM's Remote Supervisor Adapter (RSA) are a few to list. The above-listed modules are vendor specific and proprietary. IPMI whereas is vendor-neutral and cross-platform. It is available on Linux distros. The functionality of IPMI can be accessed via IPMItool. IPMItool is a command prompt, which is used to manage IPMI-enabled devices. IPMItool helps in managing the system hardware components, monitoring the system health independent of the operating system.
Procedure
You can install IPMI and IPMItool via yum using the following command:
[root@anm ~]# yum install OpenIPMI OpenIPMI-tools
or in debian based systems:
apt install ipmitool
Ensure that the server is set to start during startup and start the IPMI service:
[root@anm ~]# chkconfig ipmi on
[root@anm ~]# service ipmi start
We have some IPMItool commands, which can be used in day-to-day operations.
If you don't know which channel is your ethernet interface, just page through them one at at time, like so:
# ipmitool -I open channel info 1
Channel 0x1 info:
Channel Medium Type : 802.3 LAN
Channel Protocol Type : IPMB-1.0
Session Support : multi-session
Active Session Count : 0
Protocol Vendor ID : 7154
Volatile(active) Settings
Alerting : disabled
Per-message Auth : disabled
User Level Auth : enabled
Access Mode : always available
Non-Volatile Settings
Alerting : disabled
Per-message Auth : disabled
User Level Auth : enabled
Access Mode : always available
Note that the medium type is "802.3 LAN". That's the one you want.
Common Commands
-
Man and help info for IPMItool
bash ipmitool help man ipmitool
-
Check the firmware version
bash ipmitool mc info
-
Reset the management controller
bash ipmitool mc reset [ warm | cold ]
-
Show field-replaceable-unit details
bash ipmitool fru print
-
Show sensor output
bash ipmitool sdr list ipmitool sdr type list ipmitool sdr type Temperature ipmitool sdr type Fan ipmitool sdr type 'Power Supply'
-
Chassis management
bash ipmitool chassis status ipmitool chassis identify [X ] # where X is seconds. Turn on front panel identify light (default 15s) ipmitool [chassis] power soft # initiate a soft-shutdown via acpi ipmitool [chassis] power cycle # issue a hard power off, wait 1s, power on ipmitool [chassis] power off # issue a hard power off ipmitool [chassis] power on # issue a hard power on ipmitool [chassis] power reset # issue a hard reset
-
Modify boot device for next reboot
bash ipmitool chassis bootdev pxe ipmitool chassis bootdev cdrom ipmitool chassis bootdev bios
-
Logging
bash ipmitool sel info ipmitool sel list ipmitool sel elist # extended list (see manpage) ipmitool sel clear
-
For remote access, you need to setup user and network settings, either at boot time on the iLO or on the DRAC card itself, or from the OS via IPMI tool:
Display/reset password for default root user (userid '2′)
bash
ipmitool user list 1
ipmitool user set password 2
-
Display/configure lan settings
bash ipmitool lan print 1 ipmitool lan set 1 ipsrc [ static | dhcp ] # static för labbnät är reckomenderat ipmitool lan set 1 ipaddr {192.168.12.XYZ} ipmitool lan set 1 netmask {YOUR NETMASK} #255.255.255.0 ipmitool lan set 1 defgw ipaddr 192.168.12.1
After configuring the lan settings you should be able to connect remotely using the 'lan' interface of IPMItool.
The following is an example:
bash [root@anm ~]# ipmitool -I lan -U root -H {YOUR DESIRED IP} chassis status
-
Hanging BMC
bash ipmitool bmc reset cold
-
Change system state
bash ipmitool -H <ip> -U <user> chassis power <status|on|off|cycle|reset>
-
Get debug info
bash ipmitool lan print ipmitool -H <ip> -U <user> shell # get ipmitool shell, type 'help' ipmitool -H <ip> -U <user> sel list # Show system event log ipmitool -H <ip> -U <user> sdr # List sensor data
-
Get SOL console
bash modprobe lanplus # If not yet loaded ipmitool -H <IP> -U <user> -I lanplus sol activate
Infiniband
Följande går: ptp, token ring och switch. Det bästa vore att köra IB applicationer tex iSER, GlusterFS. Men man kan slå på IPoIB genom en kernel modul.
Notera:
- apt install -t stretch-backports ibverbs-providers rdma-core
# ger qperf m.m.
- ipoib: när interfacet ib0 har fått IP addr så kan man använda den i IB nätverket. Dvs slipper GUID och LID tal.
RDMA infrastruktur
Installera:
sudo apt-get -t stretch-backports install rdma-core libibverbs1 librdmacm1 \
libibmad5 libibumad3 librdmacm1 ibverbs-providers rdmacm-utils infiniband-diags libfabric1 ibverbs-utils
Så har du som root ib* verktyg att använda.
Lathund IPoIB
Kernel moduler
- Slå på med modprobe: mlx4_core, mlx4_ib, ib_ipoib, ib_umad
- Lägg de i
/etc/modules
för att automagiskt ladda de vid start. - Kontrollera att de har laddats med
lsmod
. - Installera opensm. (Opensm krävs för att data ska kunna skickas. Man kan ha rendudant sm instance igång men bara en igång.)
- Konfigurera opensm så att group-rate är satt till 40 Gbps eller vad som är aktuellt.
- Kolla att interfacet ib0/ibp2s0/liknande har dykt upp med ifconfig/ip
- Konfigurera ib interfacet med en statisk IP i
/etc/network/interfaces
(eller gör en fil för varje interface under interfaces.d/) - eth0 brukar ligga i en fil, kommentera ut den om den inte används.
- Sätt mtu till 65540 som är max
auto ib0
iface ib0 inet static
address 10.0.0.2
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
pre-up echo connected > /sys/class/net/$IFACE/mode
post-up /sbin/ifconfig $IFACE mtu 65520
Läs även vidare på archlinux länken nedan
- Testa med iperf qperf mm
Exempel på labborations övningar
nfs över rdma
Källa: https://community.mellanox.com/docs/DOC-2132
Summerat
Server:
- Lägg till och aktivera modulen svcrdma
- Installera nfs server och rpcbind
- Confa /etc/rpc
för nfs
- Confa /etc/exports
med tex /path2ShareDir 10.0.0.0/255.255.255.0(rw,no_root_squash,subtree_check)
- # exportfs -a
- Dra upp nfs servern
- echo 'rdma 20049' > /proc/fs/nfsd/portlist
Klient:
- nfs-common behövs
- Ladda modul xprtrdma
- Kör mount -o rdma,port=20049 19.19.19.7:/root/my_directory /mnt/my_directory
(ska gå på någon sekund annars är servern fel konfad)
- Testa att det funkar med filer i nfs katalog
- fio --rw=randread --bs=64k --numjobs=4 --iodepth=8 --runtime=30 --time_based --loops=1 --ioengine=libaio --direct=1 --invalidate=1 --fsync_on_close=1 --randrepeat=1 --norandommap --exitall --name task1 --filename=/<nfspath>/derp.txt --size=10000000
glusterfs
- Är noden förbered med IBoIP? (Tips: använd gärna interna namnuppslag för lättare konfigurering)
- Skapa en volym
- Skapa ett filsystem på volym
- Se till att disken monteras under ex
/data/glusterfs/disk<x>
, använd fstab filen. - Installera gluster server
- Lägg till diskarna(bricks)
- Skapa gluster volym(er) se till att välja rdma för maximal hastighet.
- Skicka vänförfrågningar till andra gluster servrar (peers)
- Testa koppla en nfs client
- Möjlighet: träna access regler till volymer
- Skills++
För massor med info kolla: https://docs.gluster.org/en/latest/ samt videos. Eller fråga någon.
iSCSI med iSER
...
kluster
Minst två noder
- Storage, se glusterfs m.m.
- High Availability
- Load Balancing
- High Performance
URLs
- https://wiki.archlinux.org/index.php/InfiniBand
- https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-configuring_the_subnet_manager
- https://www.servethehome.com/configure-ipoi