Prometheusプロジェクトの実践-vmware導入kvm仮想クラスタ
12856 ワード
1.概要
このブログでは、主にwin 10の専門版で実行されているvmware workstation 15 pro仮想化ソフトウェアを使用してcentos 7をインストールします.7システムを最小化し、centos 7にkvm仮想マシンをインストールし、仮想マシンの迅速な作成と起動を実現します.私はdeepin 15にいます.11オペレーティングシステムには、同じ環境が導入されています.しかし、いくつかの細部には違いがあります.
2.詳しく述べる
2.1仮想マシンの作成
新しい仮想マシンを作成し、opsdev(運用次元開発)と名付け、オペレーティングシステムを一時的にインストールしません.
プロセッサは2個を選択し、各4コア、メモリは10240 MB
ネットワークタイプはNAT(またはvmnet 8)、NAT NICのmacアドレスは:00:00:08:00:00:02
システムディスクは20 GBで、単一のファイルで、opsdev-osと命名されています.
その他の構成はデフォルトでインストールされます.
完了後:
仮想マシンのサウンドカードとプリンタの削除
プロセッサ設定の仮想化エンジンのチェック
ホストモードのみ(vmnet 1)、macアドレス00:00:01:00:02
新しいディスク、サイズ80 G、単一ファイル、名前opsdev-data
概要:このようにタイプのクラウド仮想マシンと同じように、8コア10 G、デュアルネットワークカード、仮想化をサポートし、オペレーティングシステムのインストールを最小限に抑える
2.2オペレーティングシステムのインストール
仮想マシンのCDROMデバイスを介して、ローカルでダウンロードしたcentos 7の最小化システムミラーをロードし、仮想マシンを起動してオペレーティングシステムのインストールを開始する
centos 7のインストールは簡単です.
ここでは主に以下の設定を行います.
両方のNICは、静的IPアドレスに設定されています.
NATタイプのNIC、IPアドレス:192.168.8..2、ゲートウェイ192.168.2.2254、DNS:192.168.2254
ホストタイプのNICのみ、IPアドレスは192.168.1.2、その他は構成されていません
ホスト名:opsdev
rootパスワード:liwanliang
その他のデフォルトのインストール
2.3 opsdev基礎環境
xshell 6を使用してopsdevにログイン
opsdevはインストールを最小限に抑えるため、まず基本ツールをインストールします.
yum -y install vim net-tools psmisc lsof tree wget git lrzsz
2.3.1生産公開鍵ペア
ssh-keygen
、最後まで車に戻ります.2.3.2ファイアウォールとselinuxを閉じる
ファイアウォールを閉じる:
systemctl stop firewalld && systemctl disable firewalld
修正selinux:vim /etc/selinux/config
,SELINUX=disabled2.3.3 postfixeを閉じる
postfix:
systemctl stop postfix && systemctl disable postfix
を閉じる2.3.4 ipv 6の無効化
構成の編集:
vim /etc/default/grub
次のように変更します.GRUB_CMDLINE_LINUX="crashkernel=auto spectre_v2=retpoline rhgb quiet ipv6.disable=1"
実行コマンド:
grub2-mkconfig -o /boot/grub2/grub.cfg
2.3.5データディスクのマウント
lsblk
現在のシステムのブロックデバイスを表示します.mkfs.xfs /dev/sdb
、データディスクをxfsファイルシステムにフォーマットmkdir -p /data
、マウントポイントの作成blkid
、sdbのUUID番号を表示vim /etc/fstab
、最終行追加UUID=b68a0552-6d36-4e8b-9bf5-f597bcabc12f /data xfs defaults 0 0
mount -a
、マウントを実行上記操作が完了したら、機器を再起動します
2.4 opsdev仮想化環境
2.4.1デュアルNICブリッジの構成
ブリッジソフトウェア環境のインストール:
yum -y instal bridge-utils
/etc/sysconfig/network-scriptsへifcfg-br 0を作成します.内容は次のとおりです.
TYPE=Bridge
NAME=br0
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
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.8.2
PREFIX=24
GATEWAY=192.168.8.254
DNS1=192.168.8.254
IPV6_PRIVACY=no
ifcfg-ens 32を変更します.内容は次のとおりです.
TYPE=Ethernet
NAME=ens32
ONBOOT=yes
BRIDGE=br0
ifcfg-br 1を作成します.内容は次のとおりです.
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
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=br1
DEVICE=br1
ONBOOT=yes
IPADDR=192.168.1.2
PREFIX=24
IPV6_PRIVACY=no
ifcfg-ens 33を変更します.内容は以下の通りです.
TYPE=Ethernet
NAME=ens33
DEVICE=ens33
BRIDGE=br1
ネットワークサービスの再起動、
systemctr restart network
2.4.2 dnsmasqと構成のインストール
インストールの実行:
yum -y install dnsmasq
次の構成を使用します:/etc/dnsmasq.conf
port=5353
dhcp-range=set:vmware-nat,192.168.8.3,192.168.8.99,255.255.255.0,120h
dhcp-range=set:vmware-host-only,192.168.1.3,192.168.1.99,255.255.255.0,120h
dhcp-host=00:00:00:08:00:03,192.168.8.3,base
dhcp-host=00:00:00:01:00:03,192.168.1.3
dhcp-host=00:00:00:08:00:11,192.168.8.11,node11
dhcp-host=00:00:00:01:00:11,192.168.1.11
dhcp-host=00:00:00:08:00:12,192.168.8.12,node12
dhcp-host=00:00:00:01:00:12,192.168.1.12
dhcp-host=00:00:00:08:00:13,192.168.8.13,node13
dhcp-host=00:00:00:01:00:13,192.168.1.13
dhcp-host=00:00:00:08:00:14,192.168.8.14,node14
dhcp-host=00:00:00:01:00:14,192.168.1.14
dhcp-host=00:00:00:08:00:15,192.168.8.15,node15
dhcp-host=00:00:00:01:00:15,192.168.1.15
dhcp-host=00:00:00:08:00:16,192.168.8.16,node16
dhcp-host=00:00:00:01:00:16,192.168.1.16
......
dhcp-option=tag:vmware-nat,option:router,192.168.8.254
dhcp-option=tag:vmware-host-only,option:router,0.0.0.0
dhcp-option=tag:vmware-nat,option:ntp-server,192.168.8.2
dhcp-option=tag:vmware-nat,option:dns-server,192.168.8.254
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
実行コマンド:
systemctl start dnsmasq && systemctl enable dnsmasq
注意、例えばselinuxをオフにしてこそ、正常に起動できます.2.4.3 httpサービスのインストール
yum -y install httpd
、httpサービスのインストールsystemctl start httpd && systemctl enable httpd
、起動と構成起動mkdir -p /var/www/html/osimage/centos/7
オペレーティングシステムミラーを格納rz
、centos 7の最小化システムミラーファイルをxshellでアップロードmount -o loop CentOS-7-x86_64-Minimal-1908.iso /mnt
、ミラーファイルをマウントcp -r /mnt/* /var/www/html/osimage/centos/7
オペレーティングシステムファイルをhttpdサービスディレクトリにコピーumount /mnt
、OSミラーのマウント解除2.4.4 kvm仮想化環境のインストール
実行コマンド:
yum -y install qemu-kvm libvirt virt-install
実行コマンド:systemctl start libvirtd && systemctl enable libvirtd
dnsmasqサービスが開始されたためlibvirtd起動dnsmasqを閉じる必要があり、実行可能virsh net-autostart --disable default
virtbr 0(default)のPOSTをオフにします.2.4.5 Openldap認証サービスのインストール
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
openldapソフトウェア環境のインストールsystemctl start slapd && systemctl enable slapd
、起動と設定起動netstat -tupln|trep slapd
ポートリスニングを開始するかどうかを確認slappasswd -h {SSHA} -s liwanliang
、明文パスワードliwanliangのHASH値を生成chdomainを作成します.ldif、内容は以下の通りです.
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=liwanliang,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=liwanliang,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}Cq7Cw0unvXejuaigFGiVTt+4q+hx6o7f
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=admin,dc=liwanliang,dc=com" read by *none
ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif
、chdomain.ldifデータベースへの追加basedomainを作成します.ldif、内は以下の通りです.
dn: dc=liwanliang,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: LiwanLiang Person
dc: liwanliang
dn: cn=admin,dc=liwanliang,dc=com
objectClass: organizationalRole
cn: admin
dn: ou=People,dc=liwanliang,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=liwanliang,dc=com
objectClass: organizationalRole
cn: Group
これをldifデータベースへの追加
ldapadd -x -W -D "cn=admin,dc=liwanliang,dc=com" -f basedomain.ldif
ユーザーliwl 01を作成し、ユーザーliwl 01のldifファイルを作成します.内容は次のとおりです.
dn: uid=liwl01,ou=People,dc=liwanliang,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: liwl01
uid: liwl01
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/liwl01
loginShell: /bin/bash
gecos: liwl01 [user (at) liwanliang.com]
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
liwl 01.ldifデータベースに追加:
ldapadd -x -W -D "cn=admin,dc=liwanliang,dc=com" -f liwl01.ldif
liwl 01のパスワードを変更するには:
ldappasswd -s liwanliang -W
-D "cn=admin,dc=liwanliang,dc=com"
-x "uid=liwl01,ou=People,dc=liwanliang,dc=com"
liwl 01_の作成group.ldif、内容は以下の通りです.
dn: cn=liwl01,ou=Group,dc=liwanliang,dc=com
objectClass: posixGroup
objectClass: top
cn: liwl01
userPassword: {crypt}x
gidNumber: 1001
liwl 01_をgroup.ldifデータベースに追加:
ldapadd -x -W -D "cn=admin,dc=liwanliang,dc=com" -f liwl01_group.ldif
追加されたエントリを表示するには、次の手順に従います.
ldapsearch -x cn=admin,dc=liwanliang,dc=com
2.4.6 chrony時間同期サービスのインストール
yum -y install chrony
、chronyサービスのインストール変更/etc/chrony.conf,
allow 192.168.8.0/24
systemctl start chronyd && systemctl enable chronyd
3.kvm仮想マシンのインストール
3.1テンプレート仮想マシンbaseの作成
ここでkvm仮想マシンを作成し、ベース仮想マシンとしてbaseと名付けます.後で仮想マシンを作成し、その仮想マシンから直接クローンを作成するとすぐに作成できます.
上のdnsmasq.confには、macアドレスが00:00:00:08:00:03のNICが配置されており、割り当てられたIPアドレスは192.168.8..2、00:00:00:01:00:03のNICで、割り当てられたIPアドレスは192.168.1.2
コマンドの実行(またはスクリプトの書き出し):
virt-install \
--name base \
--memory 2048 \
--vcpus sockets=2,cores=4,threads=1 \
--location http://192.168.8.2/osimage/centos/7 \
-x "console=ttyS0" \
--os-variant rhel7 \
--disk path=/data/vhosts/base.img,size=10,bus=scsi \
--network bridge=br0,mac=00:00:00:08:00:03,model=virtio \
--network bridge=br1,mac=00:00:00:01:00:03,model=virtio \
--nographics
この手順では、最小化されたインストールを採用し、ospdevの仮想マシンにグラフィック化されていませんが、上記の実行スクリプトは、最初のインタラクションを実行するときにVNCを使用するかテキストを使用するかを示すプロンプトが表示されます.
本編ではVNC(vncクライアントをインストールせず、Googleブラウザでvncをインストールするアプリケーション)を選択し、同様にインストール操作を最小化します.今回のインストールでは、ディスクパーティションを手動で分割するだけで、opsdev上のdnsmasqを使用してIPアドレスを自動的に取得できます.rootパスワードをliwanliangに設定
仮想マシンbaseのインストールが完了したら、
virsh console base
またはssh 192.168.8.3
を介してbaseにログインし、baseにいくつかのインフラストラクチャのインストールを行います.ベース上
yum -y install vim lsof wget psmisc tree chronyd
ssh-keygen
、車に戻って公開鍵ペアを作成cat id_rsa.pub > authorized_keys && chmod 400 authorized_keys
認証ファイルに公開鍵を書き込む構成/etc/ssh/sshd_config、
UseDNS no
systemctl restart sshd
に変更構成/etc/chrony.conf,
server 192.168.8.3 iburst
設定時間サーバアドレスは192.168.8.3systemctl stop firewalld && systemctl disable firewalld
selinux、
vim /etc/selinux/config
、SELINUX=disabledをオフにします.Openldapのクライアントとしてsssdサービスを使用する
ベースに
yum -y instal sssd
sssdをインストールディレクトリ
cd /etc/sssd
に入り、ファイルsssdを作成する.conf、内容は以下の通りです.[sssd]
config_file_version = 2
services = nss, pam, autofs
domains = default
[nss]
filter_users = root,ldap
[pam]
[domain/default]
auth_provider = ldap
id_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://192.168.8.2:389
ldap_search_base = dc=liwanliang,dc=com
ldap_tls_reqcert = never
ldap_id_use_start_tls = False
ldap_tls_cacertdir = /etc/openldap/cacerts
cache_credentials = True
entry_cache_timeout = 60
ldap_network_timeout = 3
autofs_provider = ldap
[autofs]
変更/etc/ssd/ssd.confの権限、
chmod 400 /etc/sssd/sssd.conf
systemctl start sssd && systemctl enable sssd
、起動と設定起動ベースでは、
id liwl01
検証、またはgetent passwd liwl01
検証opsdevで
まずopsdevからbaseへのパスワードなしログインを構成し、
ssh-copy-id -i /root/.ssh/id_rsa.pub base
、baseのrootパスワードliwanliangを入力すればよい.次にopsdevの/etc/hostsをbaseにコピーし、
scp /etc/hosts base:/etc/hosts
3.2仮想マシンnode 11のクローン作成
同様に、node 11のmacアドレスを指定し、baseからnodeをクローンすると、node 11をすばやく作成できます.
コマンドの実行:
virt-clone -f /data/vhosts/node11.img -n node11 -o base -m 00:00:00:08:00:11 -m 00:00:00:01:00:11
virsh start node11
node 11を起動