私有云所需知道的命令或文件合集(持续更新)
查看网卡命令
ip addr show
网卡编辑操作命令
CentOS7.9系统为参考,一般网卡配置所在位置:
/etc/sysconfig/network-scripts/ifcfg-ensXX
重启网卡服务命令
service network restart
修改本地hosts文件命令
本地host解析配置文件位置:/etc/hosts
进行配置文件配置:vi /etc/hosts
主机名修改命令
controller节点:hostnamectl set-hostname controller
compute节点:hostnamectl set-hostname compute
关闭防火墙和SELinux命令
关闭防火墙:
systemctl stop firewalld
删除防火墙:
systemctl disable firewalld
关闭SElinux:
vi /etc/selinux/config(进入SELinux的配置文件)
将配置文件中设置为SELINUX=disabled
进行保存然后使用reboot命令重启一次
配置无密钥SSH
ssh-keygen
ssh-copy-id
SCP命令
scp [本地文件路径] [用户名]@[虚拟机IP地址]:[虚拟机目标文件路径]
创建文件夹命令
mkdir /路径
临时挂载命令
mount -o loop
复制命令
cp -rf
取消临时挂载
umount
创建yum.repo文件命令和格式
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/openstack/iaas-repo
gpgcheck=0
enabled=1
rpm软件包安装命令
rpm -ivh /opt/centos/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
FTP配置文件修改
vi /etc/vsftpd/vsftpd.conf
添加 anon_root=/opt #指定匿名账号的ftp根目录
设置FTP服务启动和开机自启动
systemctl start vsftpd
systemctl enable vsftpd
刷新yum源和查看yum列表
yum clean all
yum makecache
yum list
硬盘分区命令
fdisk
安装NTP服务以及修改配置文件
yum -y install ntp #安装ntp服务
vi /etc/ntp.conf #进入编辑ntp的配置文件
添加以下内容(删除默认的server规则)
server 127.127.1.0
fudge 127.127.1.0 stratum 10

yum -y install ntpdate #计算节点安装
NTP服务启动和开机自启动
systemctl restart ntpd
systemctl enable ntpd
在计算节点同步时间
ntpdate controller
脚本包安装
yum install iaas-xiandian -y
openrc.sh脚本配置文件的修改
vi /etc/xiandian/openrc.sh #进入脚本的配置文件
HOST_IP=10.10.10.100 #controller节点IP
HOST_NAME=controller
HOST_IP_NODE=10.10.10.200 #compute节点IP
HOST_PASS_NODE=000000
HOST_NAME_NODE=compute
network_segment_IP=all #网段
RABBIT_USER=openstack
DOMAIN_NAME=demo #按照搭建要求写,我这里写demo
METADATA_SECRET=000000
INTERFACE_IP=10.10.10.100 #外网IP(compute节点就写为10.10.10.200)
INTERFACE_NAME=ens33 #外网网卡名
Physical_NAME=provider
minvlan=101
maxvlan=200
BLOCK_DISK=sdb1 #空白分区名
OBJECT_DISK=sdb2 #空白分区名
STORAGE_LOCAL_NET_IP=10.10.10.200 #compute节点IP

其他所有PASS都填000000

一键删除“#”操作

指针放在最上边最左边,按Ctrl+V然后按Shift+G最后按x键,可以一键删除第一列的“#”

一键替换PASS=为PASS=000000操作

命令模式下输入 :%s/PASS=/PASS=000000 #将PASS=替换为PASS=000000

初始化脚本
iaas-pre-host.sh
mysql脚本
iaas-install-mysql.sh
数据库调优文件位置
/etc/my.conf
数据库调优参数:支持大小写、插入数据的缓冲、log buffer大小、redo log大小、redo log文件组数量、memcached的最大连接数、内存占用大小、算法
添加以下参数:
lower_case_table_names = 1 #设置数据库支持大小写
innodb_buffer_pool_size = 4G #设置数据库缓存 innodb 表的索引,数据,插入数据时的缓冲为 4G
innodb_log_buffer_size = 64MB #设置数据库的 log buffer 为 64MB
innodb_log_file_size = 256MB #设置数据库的 redo log 大小为 256MB
innodb_log_files_in_group = 2 #设置数据库的 redo log 文件组为 2
修改完之后进行保存然后重启mariadb
systemctl restart mariadb #重启mariadb
vi /etc/sysconfig/memcached #进入编辑memcached的配置文件
添加或者修改以下参数:
MAXCONN="2048" #修改最大连接参数2048
CACHESIZE="512" #修改内存占用大小为512
hash_algorithm=md5 #添加一行调整Memcached算法为md5
systemctl restart memcached #修改完之后进行保存然后重启memcache
keystone脚本
iaas-install-keystone.sh
导入openstack环境变量
source /etc/keystone/admin-openrc.sh
创建域、创建用户组、创建项目、创建用户并分配到项目中并设置电子邮箱地址、分配用户到项目中的XX角色
openstack domain create 210Demo #创建域210Demo
openstack group create devops --domain 210Demo #在210Demo中创建devops用户组
openstack project create Engineering --domain 210Demo #在210Demo中创键Engineering的项目
openstack user create --domain 210Demo --project Engineering Robert --email Robert@lab.example.com #在210Demo域中,创建用户Robert并分配到Engineering项目,并设置其电子邮件地址。
openstack group add user devops robert  #将用户加入组中
openstack role add --user Robert --project Engineering admin #将用户Robert分配到Engineering项目的admin角色。
Keystone权限控制
Glance的策略文件默认路径为 /etc/glance/policy.yaml(OpenStack Queens及更新版本)或 /etc/glance/policy.json(旧版本)
修改普通用户权限,使普通用户不能对镜像进行创建和删除操作
"add_image": "role:admin"
"delete_image": "role:admin"
glance脚本
iaas-install-glance.sh
查看当前存在的镜像
glance image-list
创建镜像、创建镜像命令的参数
我们就直接拿Centos7.9的ISO镜像来演示吧
glance image-create --name "CentOS7.9" --disk-format iso --container-format bare --progress < CentOS-7.9-x86_64-DVD-2009.iso
--name 镜像命名
--disk-format 镜像磁盘类型,ISO文件为iso,假如是QCOW2文件则填qcow2
--container-format 上传镜像使用的容器类型(ami, ari, aki,bare, ovf, ova, docker)
progress 进度显示上传进度条
删除镜像
如果需要删除镜像,则是以下操作:
使用glance image-list来查看镜像ID
比如我的:
+--------------------------------------+-----------+
| ID | Name |
+--------------------------------------+-----------+
| 0e38650c-a9f5-49ec-8f71-b7600d45ca08 | CentOS7.9 |
+--------------------------------------+-----------+
由于镜像默认是为被保护状态,所以我们需要更新镜像状态取消它的保护状态,才能删除镜像
glance image-update --protected False 0e38650c-a9f5-49ec-8f71-b7600d45ca08 #更新取消保护状态
glance image-delete 0e38650c-a9f5-49ec-8f71-b7600d45ca08 #删除镜像
glance开放镜像权限
source admin-openrc.sh # 加载管理员环境变量(通常包含认证信息)
共享镜像到demo项目
首先查找demo项目ID:openstack project list | grep demo
将镜像glance-cirros共享给demo项目
glance member-create <镜像ID> <项目ID>
或者
openstack image add project glance-cirros <demo-project-id>
接受共享:
glance member-update <镜像ID> <项目ID> accepted
glance镜像转换
qemu-img convert -f qcow2 -O raw CentOS7.5-compress.qcow2 chinaskill-compress.raw
如果没有qemu-img,使用yum install qemu-img进行安装
glance存储限制
编辑 Glance API 的配置文件 /etc/glance/glance-api.conf
[DEFAULT]
# 启用配额限制
enforce_scope = true
[quota]
# 设置单个用户(或项目)的镜像存储上限为 20GB(单位:字节)
user_storage_quota = 21474836480  # 20GB = 20 * 1024^3 = 21474836480 字节
重启 Glance 服务
systemctl restart openstack-glance-api
验证配额设置
openstack quota show
输出中检查 gigabytes 和 per_volume_gigabytes 是否生效。
neutron脚本
iaas-install-neutron-controller.sh #controller节点
iaas-install-neutron-compute.sh #compute节点
注:如果你和我一样使用的是CentOS7.9版本运行完出现依赖问题或者报错,多半是libxslt 依赖冲突(我们自带的这个依赖版本太高需要降级)
需要恢复到执行这个脚本之前的快照然后运行下面命令
查看可用版本
yum list libxslt --showduplicates
降级到 1.1.28-5.el7
sudo yum downgrade libxslt-1.1.28-5.el7
还有就是需要手动安装
sudo yum install openstack-nova-api openstack-nova-conductor openstack-nova-scheduler
运行完这些再重新运行上面的iaas-neutron脚本
nova优化配置文件位置、修改调度器规则
vi /etc/nova/nova.conf #进入编辑nova的配置文件
将driver=nova.quota.DbQuotaDriver改为driver=caching_scheduler并取消注释来启动此参数
dashboard脚本
iaas-install-dashboard.sh
网页页面访问
浏览器输入: controller节点IP/dashboard
免域名登录
vi /etc/openstack-dashboard/local_settings
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'  # 默认域名,改为自己的
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = False  # 禁用多域名支持
SESSION_ENGINE = 'django.contrib.sessions.backends.file'  # 使用文件存储会话数据

systemctl restart httpd #重启服务
swift脚本
iaas-install-swift-controller.sh #controller节点
iaas-install-swift-compute.sh #compute节点
创建容器、查看容器列表、上传容器
swift post examcontainer #创建名为examcontainer的容器
openstack container list #查看容器列表
swift upload -S 10M examcontainer cirros-0.3.4-x86_64-disk.img #上传到容器中
Cinder创建硬盘
计算节点:
使用fdisk进行分区
fdisk /dev/sdb
刷新分区表
partprobe /dev/sdb
将新分区加入 LVM 卷组
pvcreate /dev/sdbX
vgextend cinder-volumes /dev/sdbX
重启 Cinder 服务
systemctl restart openstack-cinder-volume
然后在控制节点上进行验证
查看 Cinder 后端存储容量
cinder service-list
创建测试卷
cinder create --name test-volume 1
然后回到计算节点进行验证
查看 LVM 卷组信息
vgs
查看物理卷信息
pvs  #确认新分区 /dev/sdbX 已加入卷组
配置主机禁ping
进入/etc/sysctl.conf
添加net.ipv4.icmp_echo_ignore_all = 1
防止SYN攻击
在/etc/sysctl.conf中添加
net.ipv4.tcp_syncookies = 1  #启用 ​SYN Cookie
管理RPM安装libguestfs-tools工具
yum install -y libguestfs-tools
swap限制
在/etc/sysctl.conf加入
vm.swappiness = 20
Heat编排模板格式、内容
iaas-install-heat.sh #安装openstack的heat编排服务
vi /root/user_create.yml #创建并进入编辑yml文件
 
heat_template_version: 2016-04-08
description: Create a user
parameters:
  domain_name:
    type: string
    default: chinaskills
  project_name:
    type: string
    default: beijing_group
  user_name:
    type: string
    default: cloud
resources:
  domain:
    type: OS::Keystone::Domain
    properties:
      name: { get_param: domain_name }
      enabled: True  # 显式启用域
  project:
    type: OS::Keystone::Project
    properties:
      name: { get_param: project_name }
      domain: { get_resource: domain }
      enabled: True  # 显式启用项目
  user:
    type: OS::Keystone::User
    properties:
      name: { get_param: user_name }
      domain: { get_resource: domain }
      default_project: { get_resource: project }
      enabled: True  # 显式启用用户
 
#heat_template_version:指定了该 Heat 模板所遵循的版本,这里使用的是 2016 年 4 月 8 日定义的版本。
#description:对模板的功能进行了简要描述,表明该模板用于创建一个用户。
#parameters 部分定义了模板使用的参数,这些参数可以在创建堆栈时进行自定义,若不提供则使用默认值。
#domain_name:用于指定要创建的域的名称
#project_name:用于指定在域内创建的项目的名称
#user_name:用于指定要创建的用户的名称
#resources 部分定义了要创建的 OpenStack 资源。
#domain:使用 OS::Keystone::Domain 类型创建一个域,其名称通过 get_param 函数从 domain_name 参数获取。
#project:使用 OS::Keystone::Project 类型在指定的域内创建一个项目,项目名称从 project_name 参数获取,所属域通过 get_resource 函数引用前面创建的 domain 资源。
#user:使用 OS::Keystone::User 类型创建一个用户,用户名称从 user_name 参数获取,所属域引用 domain 资源,默认项目引用 project 资源。
 
注:我这个模板其实还有很大改进空间,比如可以添加输出信息部分,这个可以你们自行研究。
KVM优化配置文件位置、修改参数启用-device virtio-net-pci in kvm
在控制节点(controller)上,修改 /etc/nova/nova.conf 文件,添加或修改以下内容:
virt_type = kvm             # 强制使用 KVM 虚拟化
hw_vif_model = virtio       # 指定网络设备模型为 virtio
NFS服务安装
sudo yum install nfs-utils -y
配置NFS共享目录
创建共享目录并配置 NFS
mkdir /var/nfs-glance
编辑 /etc/exports,添加以下内容:
/var/nfs-glance *(rw,sync,no_root_squash,no_subtree_check)
​启动 NFS 服务
systemctl start nfs
systemctl enable nfs
配置控制节点为NFS客户端
yum install nfs-utils -y  #安装NFS客户端
创建本地挂载点并挂载 NFS
sudo mkdir -p /mnt/glance-nfs
sudo mount -t nfs <NFS-SERVER-IP>:/var/nfs-glance /mnt/glance-nfs #<NFS-SERVER-IP> 为云主机的内网 IP 地址
验证挂载
df -h | grep glance-nfs
touch /mnt/glance-nfs/testfile  # 测试写入权限
​配置开机自动挂载
<NFS-SERVER-IP>:/var/nfs-glance /mnt/glance-nfs nfs defaults 0 0
配置Glance后端存储
修改 Glance 配置文件
编辑 /etc/glance/glance-api.conf
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /mnt/glance-nfs

设置目录权限
确保 Glance 服务用户(通常为 glance)有权限访问挂载点
chown -R glance:glance /mnt/glance-nfs
chmod 775 /mnt/glance-nfs
重启 Glance 服务
systemctl restart openstack-glance-api
验证 Glance 存储功能
上传镜像到 Glance
openstack image create --disk-format qcow2 --container-format bare \
  --file cirros-0.3.4-x86_64-disk.img "CirrOS NFS Test"
检查镜像存储位置
ls /mnt/glance-nfs  # 应看到镜像文件(如 d41d8cd9...)
​查看镜像详情
openstack image show "CirrOS NFS Test"
安装Redis服务、配置访问密码的配置文件、配置主从关系
yum install redis -y #两个主机都要安装

在 Redis 配置文件 /etc/redis.conf 中设置密码
找到 requirepass 配置项,并设置密码123456
requirepass 123456
重启服务systemctl restart redis

配置主从关系
在主节点上,创建一个文件/etc/redis/sentinel.conf,并添加以下内容:
sentinel monitor mymaster xxx.xxx.xxx.xxx 6379 2   #这里的xxx.xxx.xxx.xxx为主节点IP
在从节点上,创建一个文件 /etc/redis/sentinel.conf,并添加以下内容:
sentinel monitor mymaster xxx.xxx.xxx.xxx 6379 2  #这里的xxx.xxx.xxx.xxx为从节点IP
在从节点设置从节点指向主节点的地址:
sentinel set master-address mymaster xxx.xxx.xxx.xxx 6379  #这里的xxx.xxx.xxx.xxx为主节点IP
systemctl start redis-sentinel
Linux系统调优脏数据回写配置文件、配置参数内容、应用配置
修改 /etc/sysctl.conf 文件
vm.dirty_ratio = 90
vm.dirty_background_ratio = 10
vm.dirty_writeback_centisecs = 6000

sysctl -p  #应用sysctl配置
Linux逻辑卷使用
sudo yum install lvm2 -y  #安装LVM软件包
sudo pvcreate /dev/sdb  #​创建物理卷
sudo vgcreate bk_volumes /dev/sdb  #创建卷组
sudo vgs bk_volumes  #验证卷组
sudo lvcreate -L 500M -n bk_lvms bk_volumes  #创建逻辑卷
sudo lvs bk_volumes/bk_lvms  #验证逻辑卷
sudo mkfs.ext4 /dev/bk_volumes/bk_lvms  #格式化逻辑卷为ext4
glance调优配置文件、修改子进程数量、重启服务
修改Glance配置文件,在 OpenStack 控制节点上,修改 /etc/glance/glance-api.conf 文件,找到 [paste_deploy] 部分,并添加或修改以下内容:
将workers = <None>改为workers = 2 并且取消注释
systemctl restart openstack-glance-api  #重启服务
Ceph部署安装脚本
yum -y install ceph-*   #在ceph1节点安装ceph的所有组件(其中包括部署工具ceph-deploy)
创建osd添加入Ceph集群,创建mgr管理器、分发admin密钥、创建pool
#给三个节点创建osd(对象存储设备)并添加进集群中,这里的/dev/sdb就是加的那块额外硬盘
[root@ceph1 ceph]# ceph-deploy osd create --data /dev/sdb ceph1
[root@ceph1 ceph]# ceph-deploy osd create --data /dev/sdb ceph2
[root@ceph1 ceph]# ceph-deploy osd create --data /dev/sdb ceph3
ceph-deploy mgr create ceph1 ceph2 ceph3  #给三个节点创建mgr(管理器),让我们可以获取集群的管理信息和服务
[root@ceph1 ceph]# ceph-deploy admin ceph1 ceph2 ceph3  #分发admin密钥,免得后续使用ceph命令需要指定mon节点地址、admin密钥等
[root@ceph1 ceph]# ceph osd pool create vms 8
pool 'vms' created
[root@ceph1 ceph]# ceph osd pool create images 8
pool 'images' created
[root@ceph1 ceph]# ceph osd pool create volumes 8
pool 'volumes' created   #根据题目要求,创建创建vms、images、volumes三个pool
 
[root@ceph1 ceph]# ceph -s  #最后查看集群状态信息,确认无误
查看集群状态命令
ceph -s
创建存储池
ceph osd pool create glance-images 128 128 # 池名 + PG/PGP 数量(根据集群规模调整)
ceph osd pool application enable glance-images rbd
创建Ceph用户

在ceph节点,创建专供 Glance 使用的用户(如 client.glance)并授权:

ceph auth get-or-create client.glance mon 'profile rbd' osd 'profile rbd pool=glance-images'
导出用户密钥

将生成的密钥保存到文件(供 Glance 配置使用):

ceph auth get client.glance > /etc/ceph/ceph.client.glance.keyring
配置glance使用Ceph RBD后端,修改配置文件、复制配置文件和密钥文件

配置glance使用Ceph RBD后端,修改配置文件、复制配置文件和密钥文件

[glance_store]
stores = rbd
default_store = rbd
 
[rbd]
rbd_store_pool = glance-images
rbd_store_user = glance
rbd_store_ceph_conf = /etc/ceph/ceph.conf
rbd_store_chunk_size = 8

将 Ceph 的配置文件和密钥文件复制到 Glance 节点:

# 复制 ceph.conf 和密钥
scp /etc/ceph/ceph.conf glance-node:/etc/ceph/
scp /etc/ceph/ceph.client.glance.keyring glance-node:/etc/ceph/
设置密钥文件权限、重启服务并导入配置环境,上传镜像
chown glance:glance /etc/ceph/ceph.client.glance.keyring
chmod 600 /etc/ceph/ceph.client.glance.keyring

systemctl restart openstack-glance-api
source /etc/keystone/admin-openrc.sh

glance image-create --name "cirros" --disk-format qcow2 --container-format bare --progress < cirros-0.3.4-x86_64-disk.img 
系统网络优化的配置文件和参数内容修改

在 OpenStack 控制节点上,修改 /etc/sysctl.conf 文件,添加以下内容以配置网络缓存:

net.core.rmem_default = 366592
net.core.wmem_default = 366592
net.core.rmem_max = 471040
net.core.wmem_max = 471040

重启网络服务

node/maven/jdk/python环境管理

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇