Outils pour utilisateurs

Outils du site


blog

Notes ordonnanceur cluster grid batch scheduler slurm

Slurm

Liens :

API

Voir aussi :

A faire

Install

Slurm utilisant par défaut munge pour faire le lien entre les comptes des machines il faut que toutes les machines aient l'horloge synchronisées

Manager :

apt-get install slurm-wlm

Nœuds :

apt-get install -y slurmd slurm-wlm-basic-plugins

Manager et Nœuds

systemctl enable munge.service
zcat /usr/share/doc/slurm-client/examples/slurm.conf.simple.gz > /etc/slurm-llnl/slurm.conf

Il faut adapter slurm.conf, il peut-être généré à partir de :

On copie le même fichier de conf sur les nœuds (le même fichier sur le manager que sur les nœuds)

scp -3 vmdeb1:/etc/slurm-llnl/slurm.conf vmdeb2:/etc/slurm-llnl/slurm.conf 
scp -3 vmdeb1:/etc/munge/munge.key vmdeb2:/etc/munge/munge.key 

Lister les “daemons” démarrés

scontrol show daemons

Sur le maître (ControlMachine) : slurmctld slurmd
Sur les nœuds : slurmd

/etc/slurm-llnl/slurm.conf

# slurm.conf file generated by configurator easy.html.
# Put this file on all nodes of your cluster.
# See the slurm.conf man page for more information.
#
ControlMachine=vmdeb1
#ControlAddr=127.0.0.1
#
#MailProg=/bin/mail
#MpiDefault=none
MpiDefault=openmpi
MpiParams=ports=12000-12999
#MpiParams=ports=#-#
#ProctrackType=proctrack/pgid
Proctracktype=proctrack/linuxproc
SlurmctldPidFile=/var/run/slurm-llnl/slurmctld.pid
#SlurmctldPort=6817
SlurmdPidFile=/var/run/slurm-llnl/slurmd.pid
#SlurmdPort=6818
SlurmdSpoolDir=/var/lib/slurm-llnl/slurmd
SlurmUser=slurm
#SlurmdUser=root
 
#UsePAM=1
DisableRootJobs=YES
EnforcePartLimits=YES
JobRequeue=0
ReturnToService=1
#TopologyPlugin=topology/tree
 
# Must be writable by user SlurmUser. The file must be accessible by the primary and backup control machines.
# On NFS share !? See http://manx.classiccmp.org/mirror/techpubs.sgi.com/library/manuals/5000/007-5814-001/pdf/007-5814-001.pdf
StateSaveLocation=/var/lib/slurm-llnl/slurmctld
 
SwitchType=switch/none
#TaskPlugin=task/none
#TaskPlugin=task/cgroup
TaskPlugin=task/affinity
 
#
#
# TIMERS
#KillWait=30
#MinJobAge=300
#SlurmctldTimeout=120
#SlurmdTimeout=300
 
Waittime=0
#
#
# SCHEDULING
FastSchedule=1
SchedulerType=sched/backfill
#SchedulerPort=7321
SelectType=select/linear
#
#
# LOGGING AND ACCOUNTING
ClusterName=cluster1
#JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/linux
#SlurmctldDebug=3
SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log                          
#SlurmdDebug=3
SlurmdLogFile=/var/log/slurm-llnl/slurmd.log
SlurmSchedLogFile=/var/log/slurm-llnl/slurmSched.log
 
#JobCompType=jobcomp/filetxt
#JobCompType=jobcomp/mysql
JobCompType=jobcomp/none
JobCompLoc=/var/log/slurm-llnl/jobcomp
#JobCheckpointDir=/var/lib/slurm-llnl/checkpoint
#AccountingStorageType=jobacct_gather/linux
#AccountingStorageType=accounting_storage/filetxt
AccountingStorageType=accounting_storage/slurmdbd
AccountingStoreJobComment=YES
DefaultStorageType=accounting_storage/slurmdbd
#AccountingStorageLoc=/var/log/slurm-llnl/accounting
AccountingStoragePort=6819
AccountingStorageEnforce=associations
#
#
NodeName=vmdeb1
 
# COMPUTE NODES
NodeName=DEFAULT
PartitionName=DEFAULT MaxTime=INFINITE State=UP
 
NodeName=vmdeb2 CPUs=1 RealMemory=494 State=UNKNOWN
NodeName=vmdeb3 CPUs=2 RealMemory=494 TmpDisk=8000 State=UNKNOWN
PartitionName=debug Nodes=vmdeb[2-3] Default=YES MaxTime=INFINITE  Shared=YES State=UP
Install de slurmdbd

Il est recommandé d'utiliser MySQL (pas toutes les fonctionnalité avec PostgreSQL, dommage)

Ici on part du principe que vous avez déjà une base de donnés MySQL et compte et droits crée.

apt-get install slurmdbd
zcat /usr/share/doc/slurmdbd/examples/slurmdbd.conf.simple.gz > /etc/slurm-llnl/slurmdbd.conf

On adapte le fichier slurmdbd.conf Puis

service slurmdbd restart

On test

sacct
       JobID    JobName  Partition    Account  AllocCPUS      State ExitCode 
------------ ---------- ---------- ---------- ---------- ---------- --------

Pb

munge -n | ssh vmdeb1  unmunge
STATUS:           Expired credential (15)

Solution :

ntpdate -u pool.ntp.org
sudo -u slurm -- /usr/sbin/slurmctld -Dcvvvv
/usr/sbin/slurmd    -Dcvvvv

-c : Clear : Efface l'etat précedent, purge les jobs...
-D : Deamon : Lancement en arrière plan. Logs sur STDOUT
-v : Verbose : Mode bavare. Mettre plusieurs "v" pour être très bavare

slurmd -C
Affiche la configuration de l'hôte courant 


Aide 

Le **man**
et 
commande --help
commande --usage

Variables :
SQUEUE_STATES=all for the squeue command to display jobs in any state. (y compris les job en COMPLETED et CANCELLED)

Commande : 
sbatch
salloc
srun
sattach

srun -l --ntasks-per-core=1 --exclusive -n 2 hostname
sinfo --Node
scontrol show partition
scancel --user=test --state=pending
scontrol show config
scontrol show job
scancel -i --user=test

# The Slurm -d singleton argument tells Slurm not to dispatch this job until all previous jobs with the same name have completed.

sbatch -d singleton simple.sh

scontrol ping
sinfo -R

# Afficher egalement les jobs terminés
squeue -t all

#A/I/O/T = "active(in use)/idle/other/total" 
sinfo -l

# 
sinfo -Nle -o '%n %C %t'
Astuce
Lancer une commande **srun** sans attendre

Normalement

$ srun -N2 -l hostname
srun: job 219 queued and waiting for resources

Solution (compte root ou le “SlurmUser”)

# sinfo --noheader -o %N
vmdeb[2-3]
# srun -N2 --no-allocate -w vmdeb[2-3] hostname

Cancel / terminate a job in “CG” state

scontrol update nodename=node4-blender state=down reason=hung
scontrol update nodename=node4-blender state=idle

Il faudra aussi tuer le processus 'slurmstepd' sur les nœuds
Problème de flux réseaux : Node ⇒ Manager:TCP6817

PB

</code → “srun: error: Application launch failed: User not found on host” </code>

Solution : Il faut que le même utilisateur ai le même UID sur les nœuds ainsi que sur le manager. Apparemment c'est lié à munge Il peut être intéressant d'utiliser LDAP

2025/03/24 15:06

Notes OpenVPN

Conf

Sur le serveur

zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

Sur un client

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/

/etc/openvpn/server.conf

port 1194

;proto tcp
proto udp

dev tun

ca ca.crt
cert server.crt
key server.key

dh dh1024.pem

tls-auth ta.key 0 # Zero sur le serveur

server 10.8.0.0 255.255.255.0

user nobody
group nogroup

# Pour que les clients puisse communiquer entre eux
client-to-client

;ifconfig-pool-persist ipp.txt
ifconfig-pool-persist ipp.txt 0

# Pour les certificat révoqués
crl-verify crl.pem

# Interface admin 'telnet localhost 5001'
management localhost 5001

# Pour supervision (Munin)
status /var/log/openvpn.status
status-version 1

Le fichier ta.key devra être présent sur le serveur ainsi que sur l'ensemble des clients

openvpn --genkey --secret /etc/openvpn/ta.key
chmod 600 /etc/openvpn/ta.key

/etc/openvpn/client.conf

dev tun

remote vpn.acme.fr 1194

resolv-retry infinite
nobind

persist-key
persist-tun

comp-lzo

# Serveur proxy
;http-proxy 1.1.1.1 8080

;proto tcp
proto udp

ca ca.crt
cert client.crt
key client.key

tls-auth ta.key 1

remote-cert-tls server

user nobody
group nogroup

;log  /var/log/openvpn.log
;verb 3

ifconfig-pool-persist ipp.txt 0 permet de mettre des IP fixes aux clients, le fichier ipp.txt est en lecture seul pour OpenVPN, il faudra le mettre à jour à la main.

Pb / Bug ⇒ il arrive qu'il y ai un décalage de 2 numéro IP (ex 10.8.0.4 dans le fichier, 10.8.0.6 pour de vrai)

ipp.txt

portable,10.8.0.4

Déposer le fichier crl.pem (crash si fichier vide)

Voir Création du fichier crl.pem

Démarrer le VPN sur le client

Exemple

sudo openvpn --inactive 0 --config plop.ovpn

Si le serveur pousse des routes que nous ne souhaitons corriger

ip route del 0.0.0.0/1 via 10.81.234.1
ip route del 128.0.0.0/1
ip route add 10.0.0.0/8 via 10.81.234.1

Supervision avec Munin

Voir

/etc/munin/plugin-conf.d/munin-node

[openvpn]
user root
env.statusfile /var/log/openvpn-status.log

/etc/openvpn/server.conf

status /var/log/openvpn.status
status-version 1

Note OpenVPN to LAN gateway

VPN

ccd/jibe

ifconfig-push 10.9.0.12  10.9.0.13
push "route 10.8.0.0 255.255.0.0"
iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
 
echo 1 > /proc/sys/net/ipv4/ip_forward

Sortir tout le trafique via le VPN

Sur le serveur

/etc/openvpn/server.conf

push "redirect-gateway"

OpenVPN sur TCP443

Exemple de conf

login.conf

username
password

plop.ovpn

client
dev tun3
proto tcp
remote 176.126.237.217 80
remote euro217.vpnbook.com 80
resolv-retry infinite
nobind
persist-key
persist-tun


#auth-user-pass
auth-user-pass login.conf

comp-lzo
verb 3
cipher AES-128-CBC
fast-io
pull
route-delay 2
redirect-gateway

# auth SHA1

;http-proxy-retry
;http-proxy [proxy server] [proxy port]
<ca>
-----BEGIN CERTIFICATE-----
MIIDyzCCAzSgAwIBAgIJAKRtpjsIvek1MA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD
VQQGEwJDSDEPMA0GA1UECBMGWnVyaWNoMQ8wDQYDVQQHEwZadXJpY2gxFDASBgNV
BAoTC3ZwbmJvb2suY29tMQswCQYDVQQLEwJJVDEUMBIGA1UEAxMLdnBuYm9vay5j
b20xFDASBgNVBCkTC3ZwbmJvb2suY29tMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkB2
cG5ib29rLmNvbTAeFw0xMzA0MjQwNDA3NDhaFw0yMzA0MjIwNDA3NDhaMIGgMQsw
CQYDVQQGEwJDSDEPMA0GA1UECBMGWnVyaWNoMQ8wDQYDVQQHEwZadXJpY2gxFDAS
BgNVBAoTC3ZwbmJvb2suY29tMQswCQYDVQQLEwJJVDEUMBIGA1UEAxMLdnBuYm9v
ay5jb20xFDASBgNVBCkTC3ZwbmJvb2suY29tMSAwHgYJKoZIhvcNAQkBFhFhZG1p
bkB2cG5ib29rLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyNwZEYs6
WN+j1zXYLEwiQMShc1mHmY9f9cx18hF/rENG+TBgaS5RVx9zU+7a9X1P3r2OyLXi
WzqvEMmZIEhij8MtCxbZGEEUHktkbZqLAryIo8ubUigqke25+QyVLDIBuqIXjpw3
hJQMXIgMic1u7TGsvgEUahU/5qbLIGPNDlUCAwEAAaOCAQkwggEFMB0GA1UdDgQW
BBRZ4KGhnll1W+K/KJVFl/C2+KM+JjCB1QYDVR0jBIHNMIHKgBRZ4KGhnll1W+K/
KJVFl/C2+KM+JqGBpqSBozCBoDELMAkGA1UEBhMCQ0gxDzANBgNVBAgTBlp1cmlj
aDEPMA0GA1UEBxMGWnVyaWNoMRQwEgYDVQQKEwt2cG5ib29rLmNvbTELMAkGA1UE
CxMCSVQxFDASBgNVBAMTC3ZwbmJvb2suY29tMRQwEgYDVQQpEwt2cG5ib29rLmNv
bTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AdnBuYm9vay5jb22CCQCkbaY7CL3pNTAM
BgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAKaoCEWk2pitKjbhChjl1rLj
6FwAZ74bcX/YwXM4X4st6k2+Fgve3xzwUWTXinBIyz/WDapQmX8DHk1N3Y5FuRkv
wOgathAN44PrxLAI8kkxkngxby1xrG7LtMmpATxY7fYLOQ9yHge7RRZKDieJcX3j
+ogTneOl2w6P0xP6lyI6
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
MIID6DCCA1GgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCQ0gx
DzANBgNVBAgTBlp1cmljaDEPMA0GA1UEBxMGWnVyaWNoMRQwEgYDVQQKEwt2cG5i
b29rLmNvbTELMAkGA1UECxMCSVQxFDASBgNVBAMTC3ZwbmJvb2suY29tMRQwEgYD
VQQpEwt2cG5ib29rLmNvbTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AdnBuYm9vay5j
b20wHhcNMTMwNTA2MDMyMTIxWhcNMjMwNTA0MDMyMTIxWjB4MQswCQYDVQQGEwJD
SDEPMA0GA1UECBMGWnVyaWNoMQ8wDQYDVQQHEwZadXJpY2gxFDASBgNVBAoTC3Zw
bmJvb2suY29tMQ8wDQYDVQQDEwZjbGllbnQxIDAeBgkqhkiG9w0BCQEWEWFkbWlu
QHZwbmJvb2suY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkTM/8E+JH
CjskqMIwgYDrNCBTWZLa+qKkJjZ/rliJomTfVYwKwv1AHYYU6RHpCxS1qFp3BEKL
vQlASuzycSv1FGnNiLmg94fqzzWdmjs1XWosnLqbOwxx2Ye/1WoakSHia0pItoZk
xK7/fllm42+Qujri/ERGga5Cb/TfiP6pUQIDAQABo4IBVzCCAVMwCQYDVR0TBAIw
ADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENlcnRpZmljYXRl
MB0GA1UdDgQWBBTDr4BCNSdOEh+Lx6+4RRK11x8XcDCB1QYDVR0jBIHNMIHKgBRZ
4KGhnll1W+K/KJVFl/C2+KM+JqGBpqSBozCBoDELMAkGA1UEBhMCQ0gxDzANBgNV
BAgTBlp1cmljaDEPMA0GA1UEBxMGWnVyaWNoMRQwEgYDVQQKEwt2cG5ib29rLmNv
bTELMAkGA1UECxMCSVQxFDASBgNVBAMTC3ZwbmJvb2suY29tMRQwEgYDVQQpEwt2
cG5ib29rLmNvbTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AdnBuYm9vay5jb22CCQCk
baY7CL3pNTATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJKoZI
hvcNAQEFBQADgYEAoDgD8mpVPnHUh7RhQziwhp8APC8K3jToZ0Dv4MYXQnzyXziH
QbewJZABCcOKYS0VRB/6zYX/9dIBogA/ieLgLrXESIeOp1SfP3xt+gGXSiJaohyA
/NLsTi/Am8OP211IFLyDLvPqZuqlh/+/GOLcMCeCrMj4RYxWstNxtguGQFc=
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCkTM/8E+JHCjskqMIwgYDrNCBTWZLa+qKkJjZ/rliJomTfVYwK
wv1AHYYU6RHpCxS1qFp3BEKLvQlASuzycSv1FGnNiLmg94fqzzWdmjs1XWosnLqb
Owxx2Ye/1WoakSHia0pItoZkxK7/fllm42+Qujri/ERGga5Cb/TfiP6pUQIDAQAB
AoGANX508WQf9nVUUFlJ8LUZnnr4U2sEr5uPPNbcQ7ImTZm8MiMOV6qo/ikesMw5
8qCS+5p26e1PJWRFENPUVhOW9c07z+nRMyHBQzFnNAFD7TiayjNk1gz1oIXarceR
edNGFDdWCwXh+nJJ6whbQn9ioyTg9aqScrcATmHQxTit0GECQQDR5FmwC7g0eGwZ
VHgSc/bZzo0q3VjNGakrA2zSXWUWrE0ybBm2wJNBYKAeskzWxoc6/gJa8mKEU+Vv
ugGb+J/tAkEAyGSEmWROUf4WX5DLl6nkjShdyv4LAQpByhiwLjmiZL7F4/irY4fo
ct2Ii5uMzwERRvHjJ7yzJJic8gkEca2adQJABxjZj4JV8DBCN3kLtlQFfMfnLhPd
9NFxTusGuvY9fM7GrXXKSMuqLwO9ZkxRHNIJsIz2N20Kt76+e1CmzUdS4QJAVvbQ
WKUgHBMRcI2s3PecuOmQspxG+D+UR3kpVBYs9F2aEZIEBuCfLuIW9Mcfd2I2NjyY
4NDSSYp1adAh/pdhVQJBANDrlnodYDu6A+a4YO9otjd+296/T8JpePI/KNxk7N0A
gm7SAhk379I6hr5NXdBbvTedlb1ULrhWV8lpwZ9HW2k=
-----END RSA PRIVATE KEY-----
</key>

id.conf

username
password

Conf PIA Private Internet Access

Source : https://helpdesk.privateinternetaccess.com/kb/articles/linux-setting-up-manual-openvpn-connection-through-the-terminal#anchor-2

new_zealand.ovpn

client
dev tun
proto udp
remote nz.privacy.network 1198
resolv-retry infinite
nobind
persist-key
persist-tun
cipher aes-128-cbc
auth sha1
tls-client
remote-cert-tls server
 
auth-user-pass
compress
verb 1
reneg-sec 0
<crl-verify>
-----BEGIN X509 CRL-----
MIICWDCCAUAwDQYJKoZIhvcNAQENBQAwgegxCzAJBgNVBAYTAlVTMQswCQYDVQQI
EwJDQTETMBEGA1UEBxMKTG9zQW5nZWxlczEgMB4GA1UEChMXUHJpdmF0ZSBJbnRl
cm5ldCBBY2Nlc3MxIDAeBgNVBAsTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAw
HgYDVQQDExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEKRMXUHJpdmF0
ZSBJbnRlcm5ldCBBY2Nlc3MxLzAtBgkqhkiG9w0BCQEWIHNlY3VyZUBwcml2YXRl
aW50ZXJuZXRhY2Nlc3MuY29tFw0xNjA3MDgxOTAwNDZaFw0zNjA3MDMxOTAwNDZa
MCYwEQIBARcMMTYwNzA4MTkwMDQ2MBECAQYXDDE2MDcwODE5MDA0NjANBgkqhkiG
9w0BAQ0FAAOCAQEAQZo9X97ci8EcPYu/uK2HB152OZbeZCINmYyluLDOdcSvg6B5
jI+ffKN3laDvczsG6CxmY3jNyc79XVpEYUnq4rT3FfveW1+Ralf+Vf38HdpwB8EW
B4hZlQ205+21CALLvZvR8HcPxC9KEnev1mU46wkTiov0EKc+EdRxkj5yMgv0V2Re
ze7AP+NQ9ykvDScH4eYCsmufNpIjBLhpLE2cuZZXBLcPhuRzVoU3l7A9lvzG9mjA
5YijHJGHNjlWFqyrn1CfYS6koa4TGEPngBoAziWRbDGdhEgJABHrpoaFYaL61zqy
MR6jC0K2ps9qyZAN74LEBedEfK7tBOzWMwr58A==
-----END X509 CRL-----
</crl-verify>
 
<ca>
-----BEGIN CERTIFICATE-----
MIIFqzCCBJOgAwIBAgIJAKZ7D5Yv87qDMA0GCSqGSIb3DQEBDQUAMIHoMQswCQYD
VQQGEwJVUzELMAkGA1UECBMCQ0ExEzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNV
BAoTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIElu
dGVybmV0IEFjY2VzczEgMB4GA1UEAxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3Mx
IDAeBgNVBCkTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkB
FiBzZWN1cmVAcHJpdmF0ZWludGVybmV0YWNjZXNzLmNvbTAeFw0xNDA0MTcxNzM1
MThaFw0zNDA0MTIxNzM1MThaMIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex
EzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNVBAoTF1ByaXZhdGUgSW50ZXJuZXQg
QWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UE
AxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBCkTF1ByaXZhdGUgSW50
ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkBFiBzZWN1cmVAcHJpdmF0ZWludGVy
bmV0YWNjZXNzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPXD
L1L9tX6DGf36liA7UBTy5I869z0UVo3lImfOs/GSiFKPtInlesP65577nd7UNzzX
lH/P/CnFPdBWlLp5ze3HRBCc/Avgr5CdMRkEsySL5GHBZsx6w2cayQ2EcRhVTwWp
cdldeNO+pPr9rIgPrtXqT4SWViTQRBeGM8CDxAyTopTsobjSiYZCF9Ta1gunl0G/
8Vfp+SXfYCC+ZzWvP+L1pFhPRqzQQ8k+wMZIovObK1s+nlwPaLyayzw9a8sUnvWB
/5rGPdIYnQWPgoNlLN9HpSmsAcw2z8DXI9pIxbr74cb3/HSfuYGOLkRqrOk6h4RC
OfuWoTrZup1uEOn+fw8CAwEAAaOCAVQwggFQMB0GA1UdDgQWBBQv63nQ/pJAt5tL
y8VJcbHe22ZOsjCCAR8GA1UdIwSCARYwggESgBQv63nQ/pJAt5tLy8VJcbHe22ZO
sqGB7qSB6zCB6DELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRMwEQYDVQQHEwpM
b3NBbmdlbGVzMSAwHgYDVQQKExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4G
A1UECxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBAMTF1ByaXZhdGUg
SW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQpExdQcml2YXRlIEludGVybmV0IEFjY2Vz
czEvMC0GCSqGSIb3DQEJARYgc2VjdXJlQHByaXZhdGVpbnRlcm5ldGFjY2Vzcy5j
b22CCQCmew+WL/O6gzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBDQUAA4IBAQAn
a5PgrtxfwTumD4+3/SYvwoD66cB8IcK//h1mCzAduU8KgUXocLx7QgJWo9lnZ8xU
ryXvWab2usg4fqk7FPi00bED4f4qVQFVfGfPZIH9QQ7/48bPM9RyfzImZWUCenK3
7pdw4Bvgoys2rHLHbGen7f28knT2j/cbMxd78tQc20TIObGjo8+ISTRclSTRBtyC
GohseKYpTS9himFERpUgNtefvYHbn70mIOzfOJFTVqfrptf9jXa9N8Mpy3ayfodz
1wiqdteqFXkTYoSDctgKMiZ6GdocK9nMroQipIQtpnwd4yBDWIyC6Bvlkrq5TQUt
YDQ8z9v+DMO6iwyIDRiU
-----END CERTIFICATE-----
</ca>
 
disable-occ
2025/03/24 15:06

Notes OpenStack

Brouillon

Voir :

OpenStack

Voir aussi :

  • OpenNebula
  • CloudStack

Devstack

Pré-requis :

  • 8Go RAM
  • 2 Cores
  • 1 NIC

Voir : https://wescale.developpez.com/tutoriels/apprendre-openstack-les-bases/

Install : https://github.com/rdoxenham/openstack-training/blob/master/labs/openstack-summit.md

Ubuntu LTS

export NO_PROXY=localhost,127.0.0.1,192.168.56.22
# export http_proxy=http://127.0.0.1:3128
# export https_proxy=http://127.0.0.1:3128
export ALL_PROXY=http://127.0.0.1:3128
 
git config --global http.proxy http://192.168.56.1:3128
git clone https://git.openstack.org/openstack-dev/devstack
cp -p ./samples/local.conf .
./stack.sh:751:git_clone
/opt/stack/devstack/functions-common:537:git_timed
/opt/stack/devstack/functions-common:601:die
[ERROR] /opt/stack/devstack/functions-common:601 git call failed: [git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch master]
Error on exit
git config --global url."https://".insteadOf git://

local.conf

ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
 
IPV4_ADDRS_SAFE_TO_USE=192.168.56.0/24
HOST_IP=192.168.56.22
 
LOGDAYS=1
LOGFILE=$DEST/logs/stack.sh.log
 
RECLONE=yes
PIP_UPGRADE=True
#IP_VERSION=4+6
IP_VERSION=4
DEFAULT_INSTANCE_TYPE=m1.tiny
journalctl --unit devstack@*
apt-get update && apt-get upgrade
apt-get install git
 
adduser stack
 
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/stack
 
su - stack
export http_proxy=http://192.168.56.1:3128
export https_proxy=http://192.168.56.1:3128
git clone https://git.openstack.org/openstack-dev/devstack
 
cd devstack/samples
cp local.conf ..
cd ..

local.conf

HOST_IP=192.168.56.101
FLOATING_RANGE=192.168.56.224/27
./stack.sh
timeout -s SIGINT 0 git clone git://git.openstack.org/openstack/keystone.git /opt/stack/keystone --branch master
openstack --os-cloud=devstack-admin --os-region-name=RegionOne image create cirros-0.3.5-x86_64-disk --public --container-format=bare --disk-format qcow2

Voir :

local.conf

[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
HOST_IP=10.245.108.3
LOGFILE=$DEST/logs/stack.sh.log
LOGDAYS=2
SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
SWIFT_REPLICAS=1
SWIFT_DATA_DIR=$DEST/data
sudo su - stack
cd devstack
source openrc
export OS_USERNAME=admin
 
#export OS_PASSWORD=secret
#export OS_PROJECT_NAME=admin
#export OS_USER_DOMAIN_ID=default
#export OS_PROJECT_DOMAIN_ID=default
#export OS_IDENTITY_API_VERSION=3
#export OS_AUTH_URL=http://localhost:5000/v3
openstack user list
 
openstack image list
 
nova service-list
 
 
nova list
openstack server list
 
cinder list
sudo journalctl -f --unit devstack@*
 
#nova show 936ea954-b91f-4490-bbc6-f36c22f27db1
openstack server show 416b59a7-aede-4c9b-94cf-ad37d2bd3e6e -f shell
Error: Failed to perform requested operation on instance "plop", the instance has an error status: Please try again later [Error: No valid host was found. There are not enough hosts available.]. 
No valid host was found. There are not enough hosts available.
# export http_proxy=http://127.0.0.1:3128
# export https_proxy=http://127.0.0.1:3128
export ALL_PROXY=http://127.0.0.1:3128
export NO_PROXY=localhost,127.0.0.1,10.245.108.3,192.168.122.0/24

VirtIO

glance image-update \
       --property hw_scsi_model=virtio-scsi \
       [image]
 
hw_disk_bus_model=virtio-scsi
hw_scsi_model=virtio-scsi
hw_disk_bus=scsi

/etc/keystone/keystone.conf

[token]
expiration = 36000

/opt/stack/horizon/openstack_dashboard/local/local_settings.py

SESSION_TIMEOUT=36000
systemctl restart devstack@keystone.service
systemctl restart apache2

~/devstack/stackrc

if ! isset ENABLED_SERVICES ; then
    # Keystone - nothing works without keystone
    ENABLED_SERVICES=key
    # Nova - services to support libvirt based openstack clouds
    ENABLED_SERVICES+=,n-api,n-cpu,n-cond,n-sch,n-novnc,n-cauth,n-api-meta
    # Placement service needed for Nova
    ENABLED_SERVICES+=,placement-api,placement-client
    # Glance services needed for Nova
    ENABLED_SERVICES+=,g-api,g-reg
    # Cinder
    ENABLED_SERVICES+=,c-sch,c-api,c-vol
    # Neutron
    ENABLED_SERVICES+=,q-svc,q-dhcp,q-meta,q-agt,q-l3
    # Dashboard
    ENABLED_SERVICES+=,horizon
    # Additional services
    ENABLED_SERVICES+=,rabbit,tempest,mysql,etcd3,dstat
    # PERSO
    ENABLED_SERVICES+=,n-sproxy
fi

Diag

RabbitMQ

sudo rabbitmqctl list_queues

Supervision

OpenStack supervision - Diag

  • db ok ?
  • ping openstack cli
  • rabbitmq ?
  • port listen : 5000/tcp

FIXME

2025/03/24 15:06

Boot KO - Dracut - LVM

If the lvm lvs doesn't show any vol group then run as,

# List volume groups
lvm lvs
 
# Activate the volume groups
lvm vgchange -ay
 
# Continue to boot
exit
 
# If this also does not work then run
mv /etc/lvm/lvm.conf /tmp/
cat /proc/partitions
cat /proc/scsi/scsi
cat /proc/cmdline
ls /sys/module/

Pb mode single KO, fichier /dev/mapper manquant

Erratum A la place de passer init=/bin/bash au kernel il faut lui passer 1 ou single

Un défaut empêche le boot en mode single nécessaire pour certaines opérations de maintenance En dehors du LV racine et la LV du swap aucun LV n’est monté. Les block devices sont absents dans /dev/

Voici comment y remédier

# lvs
  LV           VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  temlv        toolsvg -wi-------   2.00g
  toolsadminlv toolsvg -wi-------   1.00g
  homelv       vg00    -wi------- 512.00m
  optlv        vg00    -wi------- 128.00m
  rootlv       vg00    -wi-ao----   2.00g
  swaplv       vg00    -wi-ao----   2.00g
  tmplv        vg00    -wi-------   1.00g
  usrlv        vg00    -wi-------   3.00g
  varlv        vg00    -wi-------   3.00g

Pour activer tous les LV

vgchange -a y

Nous constatons des absents :

# ls -1 /dev/mapper/
control
vg00-rootlv
vg00-swaplv

Pour monter /usr (Est-ce nécessaire ?)

mknod /dev/mapper/vg00-usrlv block 253 6
mount /dev/mapper/vg00-usrlv /usr

Pour générer de nouveau l’initramfs :

dracut -f -v

Puis

touch /.autorelabel
/sbin/reboot -f
2025/03/24 15:06
blog.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki