1 磁盘
购买云磁盘,有的时候是没有挂载的,还需要自己去根据LVM相关命令去执行,如果买的服务器比较多,还得每一台都弄,所以就自己写shell脚本,看看常规的命令,也不是很复杂。
1.1 只有1个数据盘
多盘的应该是用一个循环来实现,但因为资源受限,只有1个数据盘的脚本如下:
终于搞明白grep、awk以及变量如何使用。
init_disk() {
cat << EOF
+--------------------------------------------------------------------+
+------初始化磁盘分区 -----+
+--------------------------------------------------------------------+
EOF
if [ `rpm -qa |grep lvm2 | wc -l` -lt 1 ] ;then
yum install lvm2 -y
fi
disk_name=$(fdisk -l | grep /dev/vd | grep -v vda | awk '{print$2}' |awk -F: '{print$1}')
# 创建物理卷
pvcreate $disk_name
# 卷组
vgcreate vgdata $disk_name
# 创建逻辑卷
disk_size=$(vgdisplay | grep "Total PE" | awk '{print $3*4/1024}')
lvcreate -L ${disk_size}G -n lvData vgdata
# 创建文件系统
mkfs.ext4 /dev/vgdata/lvData
# 创建挂载目录
mkdir /appdata
# 将文件系统挂载到目录下
mount /dev/vgdata/lvData /appdata
# 设置系统启动时自动挂载
echo "/dev/vgdata/lvData /appdata ext4 defaults 0 0" >> /etc/fstab
}
2 更改host
下面的做法有些缺陷,因为一般情况新的机器最后一行是可以删除掉的。
这里hostnamectl set-hostname wd2.test.com.cn
,每台机器的hostname我没想好怎么变得也自动化,是不是传个参数进去呢?
init_hosts() {
cat << EOF
+--------------------------------------------------------------------+
+------初始化hosts配置 -----+
+--------------------------------------------------------------------+
EOF
# 删除末行
sed -i '$d' /etc/hosts
# 追加下面的配置到hosts中
cat >> /etc/hosts << EOF
10.128.4.164 wd1.test.com.cn testdev-0001
EOF
}
3 更改华为云的yum源
init_yum() {
cat << EOF
+--------------------------------------------------------------------+
+------将服务器的yum源更改为华为云的 -----+
+--------------------------------------------------------------------+
EOF
echo "step 1/5 清理已经存在的yum源"
cd /etc/yum.repos.d && rm -rf *
echo "step 2/5 下载华为mirrors"
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
echo "step 3/5 新增epel源"
yum remove -y epel-release
yum install -y https://repo.huaweicloud.com/epel/epel-release-latest-7.noarch.rpm
cd /etc/yum.repos.d/
rm -rf epel-testing.repo
echo "step 4/5 修改源"
sed -i "s/#baseurl/baseurl/g" /etc/yum.repos.d/epel.repo
sed -i "s/mirrorlist/#mirrorlist/g" /etc/yum.repos.d/epel.repo
sed -i "s@http://download.fedoraproject.org/pub@https://repo.huaweicloud.com@g" /etc/yum.repos.d/epel.repo
echo "step 5/5 生成缓存并测试源"
yum clean all
yum makecache
yum repolist all
echo "yum 源修改完毕!"
}