SRE云计算作业2
精选
原创
©著作权归作者所有:来自51CTO博客作者ツ黄昬的夕陽ゞ的原创作品,请联系作者获取转载授权,否则将追究法律责任
1. 总结vim的三种模式切换
Vim编辑器中设置了3种模式——命令模式(或普通模式)、编辑模式(或插入模式)、末行模式(或扩展命令模式)
每种模式分别又支持多种不同的命令快捷键。
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。打开vim默认进入命令模式。
输入模式:正常的文本录入。
末行模式:保存或退出文档。
配置vimrc实现写脚本自动生成注释
set ts=4
set expandtab
set ignorecase
set shiftwidth=4
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#****************************************")
call setline(4,"#Author: lxcnihao")
call setline(5,"#Q: 453976422")
call setline(6,"#Date: ".strftime("%Y-%m-%d"))
call setline(7,"#FileName: ".expand("%"))
call setline(8,"#Description: The test script ")
call setline(9,"#Copyright (C): ".strftime("%Y")." All rights reserved")
call setline(10,"#***************************************")
call setline(11,"")
endif
endfunc
2.使用grep/sed实现获取/etc/sysconfig/network-script/ifcfg-eth0目录的/etc/sysconfig/network-script/。或获取目录的ifcfg-eth0
[root@lxc-rocky-8 ~]# echo /etc/sysconfig/network-script/ifcfg-ens160 | tr "/" "\n" | grep "^[^i]" | tr "\n" "/"
etc/sysconfig/network-script/
[root@lxc-rocky-8 ~]# echo /etc/sysconfig/network-scripts/ifcfg-ens160 |grep -o "ifcfg-ens160"
ifcfg-ens160
[root@lxc-rocky-8 ~]# echo /etc/sysconfig/network-scripts/ifcfg-ens160 | tr "/" "\n"
etc
sysconfig
network-scripts
ifcfg-ens160
[root@lxc-rocky-8 ~]# echo /etc/sysconfig/network-scripts/ifcfg-ens160 | tr "/" "\n"| grep "^i"
ifcfg-ens160
3.完成编程题,可以让用户选择当前主机的所有网卡,选中网卡后,获取ip,网段,掩码。通过ping命令检测在线的主机,打印在线的主机,写入一个文件中。当ip的结尾是奇数时,在目标主机或当前主机,批量添加user1到user100用户,否则添加group1到group100,并生成对应的用户user1到user100,让用户的过期时间在1天之后。
4.总结分区,格式化,挂载命令的使用。
4.1分区
两种分区方式:MBR(分区不超2T) ,GPT(支持128个分区)
[root@lxc-rocky-8 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 50G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 49G 0 part
├─rl-root 253:0 0 47G 0 lvm /
└─rl-swap 253:1 0 2G 0 lvm [SWAP]
[root@lxc-rocky-8 ~]# fdisk -l
Disk /dev/nvme0n1: 50 GiB, 53687091200 bytes, 104857600 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
Disklabel type: dos
Disk identifier: 0xaf7fe7ed
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 2099199 2097152 1G 83 Linux
/dev/nvme0n1p2 2099200 104857599 102758400 49G 8e Linux LVM
Disk /dev/mapper/rl-root: 47 GiB, 50432311296 bytes, 98500608 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 /dev/mapper/rl-swap: 2 GiB, 2176843776 bytes, 4251648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
4.2文件系统
创建文件系统
[root@lxc-rocky-8 ~]# mkfs.ext4 /dev/sdb1
4.3挂载
- 挂载:mount /dev/sdb2 /backup 解释:设备/dev/sdb2挂载到/backup目录
5.总结RAID特性,LVM特性。
RAID 0
- 2块或以上物理硬盘串联
- 数据依次写入到硬盘中,任何一个硬盘故障都会损坏数据
RAID 1
- 2块以上硬盘
- 将数据同时写入到多块硬盘设备上(可理解为数据的镜像或备份)一块损坏另一块可实现冗余
RAID 5
- 3块以上硬盘
- 硬盘设备的数据校验信息保存到其他硬盘设备中
RAID 10
- 至少4个硬盘
- 先两两组成RAID1,再组成RAID0
- 只要坏的不是同一阵列中的所有硬盘,那么最多可以损坏50%的硬盘设备而不丢失数据
LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。
- 物理卷[Physical Volume,PV]:pvscan pvdisplay pvcreate pvmove
- 卷组[Volume Group,VG]:vgscan vgcreate vgdisplay vgremove vgextend vgreduce
- 逻辑卷[Logical Volume,LV]:lvscan lvcreate lvdisplay lvremove lvextend lvreduce
- [Physical Extent,PE]
6.准备20G/30G的2个分区,生成VG,并创建10G的mylv,
基于LVM,将10G的LV格式化挂载分区到/data/mysql, 添加gentoo用户,指定家目录为/data/mysql,确保/data/mysql的权限是gentoo用户,并切换确保gentoo用户家目录正常,之后复制/etc/sysconfig到gentoo家目录。
此时扩容mylv到20G,确保数据不丢失。
之后缩容mylv到5G确保数据不丢失。
现在基于mylv生成快照,修改或删除原卷中的数据,基于快照卷还原数据。