当前位置:网站首页>Concours de compétences en informatique en nuage - - première partie de l'environnement cloud privé openstack
Concours de compétences en informatique en nuage - - première partie de l'environnement cloud privé openstack
2022-04-23 08:02:00 【King NULL】
Adresse du blog original
1、Informations de configuration
Note:: Utilisé dans l'article()Tout est un indice,Par exemple:(controller AND compute)Représentation Cette commande doit être exécutée sur les deux noeuds.
Utiliser VM Machine virtuelle pour l'expérimentation.
Nom d'hôte | IPAdresse |
---|---|
controller | Intranet(Mode hôte seulement):192.168.20.10/24、Extranet(NatMode):192.168.10.10/24 |
compute | Intranet(Mode hôte seulement):192.168.20.20/24、Extranet(NatMode):192.168.10.20/24 |
Capture d'écran de la configuration de la machine virtuelle
######Conseils######
Intranet veuillez utiliser Mode hôte seulement N'apprends pas à utiliserLAN Sinon, je le regretterai plus tard
- controllerConfiguration du noeud(Ouvert au processeur Support de virtualisation)
- computeConfiguration du noeud(Ouvert au processeur Support de virtualisation)
2、 Installation du système d'exploitation de base
CentOS7Sélection du système1804Version:CentOS-7-x86_64-DVD-1804.iso
Baidu Cloud disk | Code d'extraction |
---|---|
https://pan.baidu.com/s/1SLha9Cih1VAv77qmup2LJA | vyto |
controller Et compute Le processus d'installation des noeuds est cohérent , Pour placer une grande partie de l'espace disque dans “/” Sous le Répertoire racine,compute Le noeud doit être suivi swift、cinderPartition, À réserver 100G Espace disque dur à gauche et à droite .
Description graphique et textuelle du processus d'installation
Oui.CentOS-7-x86_64-DVD-1804.isoMiroir, Charger à l'endroit où le miroir de la machine virtuelle est monté ,Cliquez sur OK, Puis vous pouvez cliquer sur Démarrer .( Les deux machines virtuelles doivent d'abord installer le système )
Install CentOS7 InstallationCentOS7Système、Test this media & install CentOS 7 Installer le système après inspection .Choisissez directement ici Installez le système et .
Configuration de la partition du noeud : /boot 1024M 、/ 50G(compute Noeud racine minute 50GC'est tout.,Reste Minimum100G Disponible pour une utilisation ultérieure ).
zUne fois l'installation du système terminée, cliquez sur reboot Redémarrer.( Attendre que l'installation du système soit terminée …15m…)
3、 Configuration de l'environnement de base du système
3.1、 Configuration du service réseau
ParamètresIPAdresse, Deux machines virtuelles utilisent des cartes réseau 1Interfonctionnement,Utilisation de la carte réseau2Communication avec le monde extérieur.
#Modifier le nom d'hôte
(controllerNoeud)
[root@localhost ~]# hostnamectl set-hostname controller
[root@localhost ~]# bash
[root@controller ~]# hostnamectl
Static hostname: controller
Icon name: computer-vm
Chassis: vm
Machine ID: a0389ebcbc904f9d9b13f58e5cd79d71
Boot ID: 90b6977ddd124ebeac294728b7dd35d6
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-862.el7.x86_64
Architecture: x86-64
(computeNoeud)
[root@localhost ~]# hostnamectl set-hostname compute
[root@localhost ~]# bash
[root@compute ~]#
[root@compute ~]# hostnamectl
Static hostname: compute
Icon name: computer-vm
Chassis: vm
Machine ID: 5b19796e31564946b6d308c2cf1619a2
Boot ID: d65a5777e5b64fe58c648313cdc1554d
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-862.el7.x86_64
Architecture: x86-64
# Désactiver le pare - feu(controller AND compute)
[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
#Fermerselinux(controller AND compute)
[root@compute ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@compute ~]# setenforce 0
[root@compute ~]# getenforce
Permissive
( Cette configuration est une commande d'entrée en vigueur temporaire ,Entrée en vigueur permanente, Configuré comme suit )
[root@controller ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@controller ~]# sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
[root@controller ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX=disabled
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
(Entrée en vigueur permanente après redémarrage,Fermerselinux)
#FermerNetworkManager Services de gestion de réseau (controller AND compute)
[root@controller ~]# systemctl stop NetworkManager
[root@controller ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
#Effaceriptables Toutes les stratégies (controller AND compute)
[root@controller ~]#
[root@controller ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@controller ~]# iptables -F
[root@controller ~]# iptables -Z
[root@controller ~]# iptables -X
[root@controller ~]# iptables-save
# Generated by iptables-save v1.4.21 on Sat Jan 29 17:41:16 2022
*filter
:INPUT ACCEPT [28:1880]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [16:1664]
COMMIT
# Completed on Sat Jan 29 17:41:16 2022
#Configurer le réseau(controller AND compute)
[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #Définir statiqueIP
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=046c4a52-35d6-4b67-8035-7381dc9534e3
DEVICE=ens33
ONBOOT=yes # Service de réseau de démarrage automatique
IPADDR=192.168.20.10 #IPAdresse
PREFIX=24 #Nombre de bits de masque de sous - réseau
[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens34
UUID=c54f26a6-6aca-4487-8d22-a69bf472adb5
DEVICE=ens34
ONBOOT=yes
IPADDR=192.168.10.10
PREFIX=24
GATEWAY=192.168.10.2 #Adresse de la passerelle
DNS1=114.114.114.114 #DNS1 Adresse(223.5.5.5、223.4.4.4、8.8.8.8)
#Redémarrer le service réseau
[root@controller ~]# systemctl restart network
#VoirIPAdresse
[root@controller ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:58:9d:f3 brd ff:ff:ff:ff:ff:ff
inet 192.168.20.10/24 brd 192.168.20.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::69a5:d1e2:4fab:9dfb/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:58:9d:fd brd ff:ff:ff:ff:ff:ff
inet 192.168.10.10/24 brd 192.168.10.255 scope global noprefixroute ens34
valid_lft forever preferred_lft forever
inet6 fe80::221:c336:4fad:cb2/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@compute ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a8:cb:60 brd ff:ff:ff:ff:ff:ff
inet 192.168.20.20/24 brd 192.168.20.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::c251:7dde:8399:82c4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a8:cb:6a brd ff:ff:ff:ff:ff:ff
inet 192.168.10.20/24 brd 192.168.10.255 scope global noprefixroute ens34
valid_lft forever preferred_lft forever
inet6 fe80::7c65:4b27:7f69:e201/64 scope link noprefixroute
valid_lft forever preferred_lft forever
#Tester la connectivité entre les machines virtuelles
(controller ----> compute)
[root@controller ~]# ping 192.168.20.20
PING 192.168.20.20 (192.168.20.20) 56(84) bytes of data.
64 bytes from 192.168.20.20: icmp_seq=1 ttl=64 time=1.62 ms
64 bytes from 192.168.20.20: icmp_seq=2 ttl=64 time=4.13 ms
64 bytes from 192.168.20.20: icmp_seq=3 ttl=64 time=1.42 ms
^C
--- 192.168.20.20 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2030ms
rtt min/avg/max/mdev = 1.426/2.393/4.133/1.232 ms
(compute ----> controller)
[root@compute ~]# ping 192.168.20.10
PING 192.168.20.10 (192.168.20.10) 56(84) bytes of data.
64 bytes from 192.168.20.10: icmp_seq=1 ttl=64 time=0.907 ms
64 bytes from 192.168.20.10: icmp_seq=2 ttl=64 time=1.89 ms
64 bytes from 192.168.20.10: icmp_seq=3 ttl=64 time=1.92 ms
^C
--- 192.168.20.10 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2016ms
rtt min/avg/max/mdev = 0.907/1.572/1.920/0.471 ms
# Tester la connectivité des machines virtuelles et physiques
(Utilisation de machines physiquesping De la carte réseau externe de la machine virtuelle IPAdresse)
C:\Users\willi>ping 192.168.10.10
En ce moment Ping 192.168.10.10 Avec 32 Octets de données:
De 192.168.10.10 Réponse de: Octets=32 Temps<1ms TTL=64
De 192.168.10.10 Réponse de: Octets=32 Temps<1ms TTL=64
192.168.10.10 De Ping Informations statistiques:
Paquet de données: Envoyé = 2,Reçu = 2,Perdu = 0 (0% Perdu),
Durée estimée du trajet aller - retour(En millisecondes):
Le plus court = 0ms,Plus long = 0ms,Moyenne = 0ms
Control-C
C:\Users\willi>ping 192.168.10.20
En ce moment Ping 192.168.10.20 Avec 32 Octets de données:
De 192.168.10.20 Réponse de: Octets=32 Temps<1ms TTL=64
De 192.168.10.20 Réponse de: Octets=32 Temps=4ms TTL=64
De 192.168.10.20 Réponse de: Octets=32 Temps=1ms TTL=64
De 192.168.10.20 Réponse de: Octets=32 Temps=6ms TTL=64
192.168.10.20 De Ping Informations statistiques:
Paquet de données: Envoyé = 4,Reçu = 4,Perdu = 0 (0% Perdu),
Durée estimée du trajet aller - retour(En millisecondes):
Le plus court = 0ms,Plus long = 6ms,Moyenne = 2ms
(Une fois le test terminé, Vous pouvez utiliser l'outil de connexion à distance pour vous connecter , Faciliter l'exécution des commandes ou le téléchargement de fichiers, etc. )
#Configurer la cartographie des noms d'hôtes(controller AND compute)
(Configurer la cartographie des noms d'hôtes, Parce qu'il est configuré plus tard openstackUtilisé dansapi L'interface est connectée sous le nom d'hôte ,Oui.IP Mapping to hostname , Accessible en utilisant le nom d'hôte )
[root@controller ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.20.10 controller # Remplissez l'intranet de votre propre hôte ici IPAdresse
192.168.20.20 compute #Remplissez icicomputeIntranet de l'hôteIP
# Tester la connectivité en utilisant la cartographie des noms d'hôtes
(controller ----> compute)
[root@controller ~]# ping compute
PING compute (192.168.20.20) 56(84) bytes of data.
64 bytes from compute (192.168.20.20): icmp_seq=1 ttl=64 time=1.50 ms
64 bytes from compute (192.168.20.20): icmp_seq=2 ttl=64 time=3.29 ms
64 bytes from compute (192.168.20.20): icmp_seq=3 ttl=64 time=0.972 ms
(compute ----> controller)
[root@compute ~]# ping controller
PING controller (192.168.20.10) 56(84) bytes of data.
64 bytes from controller (192.168.20.10): icmp_seq=1 ttl=64 time=0.758 ms
64 bytes from controller (192.168.20.10): icmp_seq=2 ttl=64 time=2.31 ms
3.2、yumConfiguration de la source
# Sauvegarde yum Fichier source(controller AND compute)
[root@controller ~]# mkdir /backup
[root@controller ~]# mv /etc/yum.repos.d/* /backup/
[root@controller ~]# ll /backup/
total 32
-rw-r--r--. 1 root root 1664 Apr 29 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Apr 29 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Apr 29 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Apr 29 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Apr 29 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 29 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 29 2018 CentOS-Vault.repo
#Oui. Iaas Le paquet miroir de controllerSur le noeud(controller)
#Montage Base du système Le paquet miroir et Iaas Paquet miroir(controller)
[root@controller ~]# mkdir /iso_dir
[root@controller ~]# mkdir /iso_dir/centos
[root@controller ~]# mkdir /iso_dir/iaas
[root@controller ~]# mount /dev/sr0 /iso_dir/centos/
mount: no medium found on /dev/sr0 # L'erreur ici n'est pas trouvée sr0Matériel,La raison en est que Le disque n'est pas connecté (Fig.-3.2.1)
[root@controller ~]# mount /dev/sr0 /iso_dir/centos/
mount: /dev/sr0 is write-protected, mounting read-only
[root@controller ~]# mount /root/chinaskills_cloud_iaas.iso /iso_dir/iaas/
mount: /dev/loop0 is write-protected, mounting read-only # Lire uniquement le montage du fichier
( Le montage ici est temporaire , Je vais vous dire , Méthode de montage permanent )
#repoÉtablissement des documents(controller)
[root@controller ~]# vi /etc/yum.repos.d/local.repo
[root@controller ~]# cat /etc/yum.repos.d/local.repo
[centos] # Identification de la source (ID)
name = CentOS-$releasever # Le nom de la source (rpeo name)
baseurl = file:///iso_dir/centos/ #Adresse de la source(Adresse locale Utiliser file:// + Chemin absolu de la source locale )
gpgcheck = 0 #0 Représentant Source de détection négative
enabled = 1 #1 Indique que la source est activée
[Iaas]
name = chainskill-Iaas
baseurl = file:///iso_dir/iaas/iaas-repo
gpgcheck = 0
enabled = 1
(Testsrepo Fichiers et fichiers montés avec succès )
[root@controller ~]# yum clean all && yum makecache && yum repolist
......
repo id repo name status
Iaas chainskill-Iaas 3,232
centos CentOS-7 3,971
repolist: 7,203
(Terminé.)
#InstallationvsftpServices,JeancomputeLes noeuds utilisentcontrollerDeyumSource
[root@controller ~]# yum install -y vim net-tools vsftpd tree
#ModifiervsftpProfil pour
(Ajouter une configuration)
[root@controller ~]# vim /etc/vsftpd/vsftpd.conf
[root@controller ~]# head -4 /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
anon_root=/iso_dir # Définir ce qui est accessible ftpRacine
#
#Oui.repoDocumentfile://Modifier comme suit:ftpEt nom d'hôte Et démarreftp
[root@controller ~]# vim /etc/yum.repos.d/local.repo
[root@controller ~]# cat /etc/yum.repos.d/local.repo
[centos]
name = CentOS-$releasever
baseurl = ftp://controller/centos/
gpgcheck = 0
enabled = 1
[Iaas]
name = chainskill-Iaas
baseurl = ftp://controller/iaas/iaas-repo
gpgcheck = 0
enabled = 1
[root@controller ~]# systemctl start vsftpd #DémarragevsftpDémon de service
[root@controller ~]# systemctl enable vsftpd #Réglage de l'auto - démarrage
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
(Testsftp Y a - t - il un problème avec la source )
[root@controller ~]# yum clean all && yum makecache && yum repolist
......
repo id repo name status
Iaas chainskill-Iaas 3,232
centos CentOS-7 3,971
repolist: 7,203
(Aucun problème.)
#Oui. repo Documentation Transfert à computeSur le noeud(controller)
(controller ----> compute)
[root@controller ~]# scp /etc/yum.repos.d/local.repo compute:/etc/yum.repos.d/
The authenticity of host 'compute (192.168.20.20)' can't be established. ECDSA key fingerprint is SHA256:9RuIaFkz/ujnn9mcGxwPu5uMTxsYfte1hw3EUmVrodg. ECDSA key fingerprint is MD5:1e:f1:0c:0b:e5:6f:04:dc:e4:9c:cf:7c:9d:cf:21:2d. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'compute,192.168.20.20' (ECDSA) to the list of known hosts. root@compute's password:
local.repo
# Voir s'il y a un problème avec la source (compute)
[root@compute ~]# yum clean all && yum makecache && yum repolist
......
repo id repo name status
Iaas chainskill-Iaas 3,232
centos CentOS-7 3,971
repolist: 7,203
(Aucun problème.)
>>>>>>> yum Le fichier source est maintenant configuré <<<<<<<<<
#Montage permanent
[root@controller ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Jan 29 15:37:36 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=c1702ad4-b7ad-4d60-a8f6-889e609850c0 /boot xfs defaults 0 0
/root/chinaskills_cloud_iaas.iso /iso_dir/iaas iso9660 defaults 0 0
# Chemin absolu vers le fichier monté Chemin de montage Type de fichier
/dev/sr0 /iso_dir/centos iso9660 defaults 0 0
(Fig.-3.2.1)
4、Construction de scriptsopenstackPlate - forme
4.1、Partition(swift AND cinder on compute)
( S'il n'y a pas d'espace réservé lors de l'installation du système , Vous pouvez ajouter un ou deux disques durs à nouveau ,Formaté commexfsLe format est parfait.)
# Partition(compute)
[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 199G 0 part
└─centos-root 253:0 0 199G 0 lvm /
sdb 8:16 0 100G 0 disk
sr0 11:0 1 1024M 0 rom
[root@compute ~]# fdisk /dev/sdb # Sélectionnez le disque dur de la partition
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xdb4e4cbf.
Command (m for help): p #Voir l'état de la partition
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xdb4e4cbf
Device Boot Start End Blocks Id System
Command (m for help): n #Nouvelle partition
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p # Sélectionnez une nouvelle partition primaire
Partition number (1-4, default 1): #Par défaut1
First sector (2048-209715199, default 2048): #Position de départ
Using default value 2048
Last sector, +sectors or +size{
K,M,G} (2048-209715199, default 209715199): +50G # Saisissez la taille de la nouvelle partition
Partition 1 of type Linux and of size 50 GiB is set
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2):
First sector (104859648-209715199, default 104859648):
Using default value 104859648
Last sector, +sectors or +size{
K,M,G} (104859648-209715199, default 209715199):
Using default value 209715199
Partition 2 of type Linux and of size 50 GiB is set
Command (m for help):
Command (m for help): p
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xdb4e4cbf
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104859647 52428800 83 Linux
/dev/sdb2 104859648 209715199 52427776 83 Linux
Command (m for help): w #Écrire une partition
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#La partition formatée est xfs
[root@compute ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@compute ~]# mkfs.xfs /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=3276736 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=13106944, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=6399, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
4.2、iaas-xiandian Profil
# Installer le profil(controller AND compute)
[root@controller ~]# yum install -y iaas-xiandian
# Modifieropenrc.shDocumentation
[root@controller ~]# vim /etc/xiandian/openrc.sh
( Entrée en mode commande :%s/^#//gOui.# Remplacer le début par vide ,C'est - à - dire Supprimer les commentaires、Réutiliser:%s/PASS=/PASS=000000/g Oui.PASS=Remplacer par:PASS=000000 Tous les mots de passe sont définis à 000000)
[root@controller ~]# cat /etc/xiandian/openrc.sh
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.20.10 # Gestion des noeuds de contrôle IP
#Controller HOST Password. example:000000
HOST_PASS=000000 # Le mot de passe de l'hôte du noeud de contrôle doit être modifié pour le mot de passe défini lors de l'installation du système.
#Controller Server hostname. example:controller
HOST_NAME=controller # Nom d'hôte du noeud de contrôle
#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.20.20 # Gestion des noeuds de calcul IP
#Compute HOST Password. example:000000
HOST_PASS_NODE=000000 # Le mot de passe du noeud de calcul doit être modifié comme ci - dessus
#Compute Node hostname. example:compute
HOST_NAME_NODE=compute # Calculer le nom d'hôte du noeud
#--------------------Chrony Config-------------------##
#Controller network segment IP. example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=192.168.20.0/24 # Sous - réseau du réseau de contrôle
#--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack #rabbit Utilisateurs du Service(Par défaut)
#Password for rabbit user .example:000000
RABBIT_PASS=000000
#--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000
#--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=admin # Nom du domaine auquel la plateforme est connectée
ADMIN_PASS=000000 #Mot de passe de connexion de l'Administrateur
DEMO_PASS=000000
#Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
#--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
#Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
#--------------------Neturon Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
#Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
#metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
#Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.20.10 #Interface réseau( Machine virtuelle et communication Intranet ,Incompute Configuration du noeud à remplir ici computeIP)
#External Network Interface. example:eth1
INTERFACE_NAME=ens34 #Carte réseau externe( Machine virtuelle et communication hors réseau )
#External Network The Physical Adapter. example:provider
Physical_NAME=provider # Adaptateur réseau physique
#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101
#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=200
#--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
#Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
#Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb1 # Le stockage en bloc est partitionné avant utilisation sdb1
#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2 #Stockage des objets Utilisersdb2
#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.20.20 #Swift Réseau de stockage nodeNoeudIP( Utiliser le noeud de calcul )
#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
#--------------------Zun Config-----------------------##
#Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000
#Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000
#Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000
#Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000
#--------------------Ceilometer Config----------------##
#Password for Gnocchi ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000
#Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000
#--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000
#Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000
#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
(In openrc.sh Configuration dans computeEtcontroller Tout est cohérent ,Seulement INTERFACE_IP L'hôte actuel doit être rempli IPAdresse,Comme le montre la figure4.2.1)
#Oui.openrcTransfert de fichiers verscompute Modifier sur le noeud
[root@controller ~]# scp /etc/xiandian/openrc.sh compute:/etc/xiandian/openrc.sh
root@compute's password:
openrc.sh
(Fig.4.2.1)
4.3、 Plate - forme d'installation de script
# Le script sera à nouveau défini selinux Pare - feu Attendre la configuration de l'environnement de base (controller AND compute)
[root@controller ~]# iaas-pre-host.sh
[root@compute ~]# iaas-pre-host.sh
(Utiliser une fois l'exécution terminée Ctrl + D Redémarrer la connexion sans redémarrer ,Oubash Juste une minute )
# Installation mysql Services(controller)
[root@controller ~]# iaas-install-mysql.sh
# Installation keystone Services(controller)
[root@controller ~]# iaas-install-keystone.sh
# Installation glance Services(controller)
[root@controller ~]# iaas-install-glance.sh
# Installation nova Services(controller AND compute)
[root@controller ~]# iaas-install-nova-controller.sh
[root@compute ~]# iaas-install-nova-compute.sh
(Validationnova La base de données a - t - elle été installée avec succès? )
[root@controller ~]# nova-manage cell_v2 list_cells
>>>Erreur signalée ici----- Veuillez consulter le catalogue 5 Moyenne, Comment sortir d'une fosse <<<
( Vérifier que le processeur système supporte l'accélération matérielle )
egrep -c '(vmx|svm)' /proc/cpuinfo
(1) Si la commande renvoie un 1Ou plus, Description votre système prend en charge l'accélération matérielle , Normalement, aucune configuration supplémentaire n'est nécessaire .
(2) Si cette instruction renvoie un 0Valeur, Indique que votre système ne supporte pas l'accélération matérielle ,Vous devez configurerlibvirtRemplacerKVMPour utiliserQEMU.
crudini --set /etc/nova/nova.conf libvirt virt_type qemu
(De mon côté.0, Tout ce qu'il faut, c'est exécuter cette commande. Ouvertlibvirt)
[root@compute ~]# crudini --set /etc/nova/nova.conf libvirt virt_type qemu
[root@compute ~]# cat /etc/nova/nova.conf | grep virt_type
virt_type = qemu
# Installation neutron Services(controller AND compute)
[root@controller ~]# iaas-install-neutron-controller.sh
[root@compute ~]# iaas-install-neutron-compute.sh
#Installation Dashboard Plate - forme(controller)
[root@controller ~]# iaas-install-dashboard.sh
dashboard Après une installation réussie, Vous pouvez ouvrir l'URL pour vous connecter à la plateforme , Configurer à nouveau le réseau de machines virtuelles de la plateforme .
5、Processus de marche sur la fosse
1、Incontroller InstallationnovaAprès le service,C'est fait. Tests VoirnovaSi le Service a été installé avec succès, Le résultat est une erreur
Pseudo-terminal will not be allocated because stdin is not a terminal.
An unexpected error prevented the server from fulfilling your request. (HTTP 500) (Request-ID: req-6e828d40-3564-42a1-98d6-93de639b0afe)
An error has occurred:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1654, in main
ret = fn(*fn_args, **fn_kwargs)
File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1323, in discover_hosts
by_service)
File "/usr/lib/python2.7/site-packages/nova/objects/host_mapping.py", line 248, in discover_hosts
cell_mappings = objects.CellMappingList.get_all(ctxt)
File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 184, in wrapper
result = fn(cls, context, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/nova/objects/cell_mapping.py", line 137, in get_all
db_mappings = cls._get_all_from_db(context)
File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 987, in wrapper
with self._transaction_scope(context):
File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1037, in _transaction_scope
context=context) as resource:
File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 640, in _session
bind=self.connection, mode=self.mode)
File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 404, in _create_session
self._start()
File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 491, in _start
engine_args, maker_args)
File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 515, in _setup_for_connection
sql_connection=sql_connection, **engine_kwargs)
File "/usr/lib/python2.7/site-packages/debtcollector/renames.py", line 43, in decorator
return wrapped(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 184, in create_engine
test_conn = _test_connection(engine, max_retries, retry_interval)
File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 370, in _test_connection
six.reraise(type(de_ref), de_ref)
File "<string>", line 2, in reraise
DBConnectionError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'controller' ([Errno 111] ECONNREFUSED)") (Background on this error at: http://sqlalche.me/e/e3q8)
C'est une erreur. ,Que s'est - il passé??? Voir le dernier indice disant Impossible de se connectercontrollerNodeMySQLServices,Regarde ça.MySQLÉtat de
[root@controller ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.1 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Sun 2022-01-30 02:07:27 CST; 3min 41s ago
Process: 15649 ExecStopPost=/usr/libexec/mysql-wait-stop (code=exited, status=0/SUCCESS)
Process: 15644 ExecStart=/usr/libexec/mysqld --basedir=/usr $MYSQLD_OPTS $_WSREP_NEW_CLUSTER (code=exited, status=1/FAILURE)
Process: 15608 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Process: 15585 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
Main PID: 15644 (code=exited, status=1/FAILURE)
Status: "MariaDB server is down"
Jan 30 02:07:26 controller systemd[1]: Starting MariaDB 10.1 database server...
Jan 30 02:07:26 controller mysql-check-socket[15585]: Socket file /var/lib/mysql/mysql.sock exists.
Jan 30 02:07:26 controller mysql-check-socket[15585]: No process is using /var/lib/mysql/mysql.sock, which means it is a garbage, so it will be removed automatically.
Jan 30 02:07:27 controller mysql-prepare-db-dir[15608]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
Jan 30 02:07:27 controller mysql-prepare-db-dir[15608]: If this is not the case, make sure the /var/lib/mysql is empty before running mysql-prepare-db-dir.
Jan 30 02:07:27 controller mysqld[15644]: 2022-01-30 2:07:27 139963356006592 [Note] /usr/libexec/mysqld (mysqld 10.1.20-MariaDB) starting as process 15644 ...
Jan 30 02:07:27 controller systemd[1]: mariadb.service: main process exited, code=exited, status=1/FAILURE
Jan 30 02:07:27 controller systemd[1]: Failed to start MariaDB 10.1 database server.
Jan 30 02:07:27 controller systemd[1]: Unit mariadb.service entered failed state.
Jan 30 02:07:27 controller systemd[1]: mariadb.service failed.
Je ne sais pas pourquoi MySQL C'est parti.,En vérifiantmariadb Le journal a trouvé le problème
[root@controller ~]# grep 'ERROR' /var/log/mariadb/mariadb.log
2022-01-30 2:04:39 139639024613568 [ERROR] mysqld: Out of memory (Needed 128663552 bytes)
2022-01-30 2:04:39 139639024613568 [ERROR] mysqld: Out of memory (Needed 96485376 bytes)
2022-01-30 2:04:39 139639024613568 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2022-01-30 2:04:39 139639024613568 [ERROR] Plugin 'InnoDB' init function returned error.
2022-01-30 2:04:39 139639024613568 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2022-01-30 2:04:39 139639024613568 [ERROR] Unknown/unsupported storage engine: innodb
2022-01-30 2:04:39 139639024613568 [ERROR] Aborting
2022-01-30 2:05:19 140391508367552 [ERROR] mysqld: Out of memory (Needed 128663552 bytes)
2022-01-30 2:05:20 140391508367552 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2022-01-30 2:05:20 140391508367552 [ERROR] Plugin 'InnoDB' init function returned error.
2022-01-30 2:05:20 140391508367552 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2022-01-30 2:05:20 140391508367552 [ERROR] Unknown/unsupported storage engine: innodb
2022-01-30 2:05:20 140391508367552 [ERROR] Aborting
2022-01-30 2:07:27 139963356006592 [ERROR] mysqld: Out of memory (Needed 128663552 bytes)
2022-01-30 2:07:27 139963356006592 [ERROR] mysqld: Out of memory (Needed 96485376 bytes)
2022-01-30 2:07:27 139963356006592 [ERROR] mysqld: Out of memory (Needed 72351744 bytes)
2022-01-30 2:07:27 139963356006592 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2022-01-30 2:07:27 139963356006592 [ERROR] Plugin 'InnoDB' init function returned error.
2022-01-30 2:07:27 139963356006592 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2022-01-30 2:07:27 139963356006592 [ERROR] Unknown/unsupported storage engine: innodb
2022-01-30 2:07:27 139963356006592 [ERROR] Aborting
C'est à cause de mon Mémoire Pas assez., Vérifiez la mémoire ,wtf C'est la mémoire que j'ai donnée ????Il n'y a aucun moyen. Ajouter de la mémoire Puis redémarrezmariadb,Encore. Incompute Exécution dans le noeud nova Installation des services
[root@controller ~]# systemctl restart mariadb
[root@controller ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.1 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2022-01-30 02:25:02 CST; 7s ago
Process: 15649 ExecStopPost=/usr/libexec/mysql-wait-stop (code=exited, status=0/SUCCESS)
Process: 16642 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
Process: 16551 ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Process: 16528 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
Main PID: 16611 (mysqld)
Status: "Taking your SQL requests now..."
CGroup: /system.slice/mariadb.service
└─16611 /usr/libexec/mysqld --basedir=/usr
Jan 30 02:25:01 controller systemd[1]: Starting MariaDB 10.1 database server...
Jan 30 02:25:01 controller mysql-check-socket[16528]: Socket file /var/lib/mysql/mysql.sock exists.
Jan 30 02:25:01 controller mysql-check-socket[16528]: No process is using /var/lib/mysql/mysql.sock, which means it is a garbage, so it will be removed automatically.
Jan 30 02:25:01 controller mysql-prepare-db-dir[16551]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
Jan 30 02:25:01 controller mysql-prepare-db-dir[16551]: If this is not the case, make sure the /var/lib/mysql is empty before running mysql-prepare-db-dir.
Jan 30 02:25:01 controller mysqld[16611]: 2022-01-30 2:25:01 139753844246720 [Note] /usr/libexec/mysqld (mysqld 10.1.20-MariaDB) starting as process 16611 ...
Jan 30 02:25:02 controller systemd[1]: Started MariaDB 10.1 database server.
6、Résumé
Guoji openstack La plateforme a donné le script , En gros, il n'y a rien à bouger. , Mais pour vraiment comprendre les fonctions et les relations des différents services , Il faut plus de temps pour corriger les erreurs. Test encore et encore . C'est tout ce qu'il faut pour construire la plateforme. , Écris - le plus tard. , Cette plateforme est la base , Il n'y a que la plate - forme , Un conteneur ou quelque chose comme ça. . Si vous voulez obtenir un résultat similaire , Pratiquez plus .
Si Qu'est - ce qui ne va pas ou qu'est - ce qui ne va pas? ~~
版权声明
本文为[King NULL]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230629526464.html
边栏推荐
- Idea shortcut
- FUEL: Fast UAV Exploration using Incremental Frontier Structure and Hierarchical Planning
- String self generated code within a given range
- Houdini > rigid body, rigid body breaking RBD
- Research on system and software security (2)
- SAP GUI security
- What's new in. Net 5 NET 5
- VBA appelle SAP RFC pour réaliser la lecture et l'écriture des données
- BUUCTF MISC刷題
- Zhuang understand's TA notes (VI) < fakeenvreflect & rust, rust effect >
猜你喜欢
Essays (updated from time to time)
Unity C# 单例模式 学习复习笔记
云计算技能大赛 -- openstack私有云环境 第一部分
如何展示您的数字作品集:来自创意招聘人员的建议
CTF-MISC总结
SAP sto with billing process and configuration
Intranet penetration series: icmpsh of Intranet tunnel
随笔(不定时更新)
Buctf MISC brossage
Teach-Repeat-Replan: A Complete and Robust System for Aggressive Flight in Complex Environments
随机推荐
Zhuang understand's TA notes (VI) < fakeenvreflect & rust, rust effect >
SAP self created table log function is enabled
Introduction to sap query enhanced development
1+x云计算中级--脚本搭建读写分离
Redis transaction implements optimistic locking principle
《内网安全攻防:渗透测试实战指南》读书笔记(七):跨域攻击分析及防御
SAP Query增强开发介绍
Chapter VII asset impairment
Analysis of Nacos source code
Houdini > fluid, rigid body export, learning process notes
Index locked data cannot be written to es problem handling
Série de pénétration Intranet: icmpsh du tunnel Intranet
RAID0和RAID5的创建和模拟RAID5工作原理
Research on system and software security (I)
【编程实践/嵌入式比赛】嵌入式比赛学习记录(二):基于TCP的图片流传输
Research on system and software security (3)
如何展示您的数字作品集:来自创意招聘人员的建议
云计算技能大赛 -- openstack私有云环境 第二部分
每天工作4小时的程序员
KVM安装部署