练习
1、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求 此分区开机后自动挂载至/test目录,且默认有acl挂载选项
fdisk /dev/sdc <<EOF
n
p
+1G
w
EOF
mkfs.ext4 -b 2048 -m 1 -L TEST /dev/sdc1
vim /etc/fstab
#在末尾添加新的一行内容:
UUID=514a8e14-3e28-403a-8b7b-5df6d770be4d /test ext4 defaults,acl 0 0
#挂载
mount -a
2、写一个脚本,完成如下功能: (1) 列出当前系统识别到的所有磁盘设备 (2) 如磁盘数量为1,则显示其空间使用信息 否则,则显示后一个磁盘上的空间使用信息
#!/bin/bash
echo -e "\e[1;$[$RANDOM%7+31]mDisk:\e[0m"
df -h|grep '^/dev/[smv]d'|cut -d' ' -f1
NUM=`df -h|grep '^/dev/[smv]d'|cut -d' ' -f1|wc -l`
if [ $NUM -eq 1 ];then
df -h|grep '^/dev/[smv]d'|tr -s ' '|cut -d' ' -f1,5
else
echo -e "\e[1;$[$RANDOM%7+31]mThe last disk is:\e[0m"
df -h|grep '^/dev/[smv]d'|tr -s ' '|cut -d' ' -f1,5|tail -1
fi
3、将CentOS6的CentOS-6.10-x86_64-bin-DVD1.iso和CentOS-6.10-x86_64-bin-DVD2.iso两个文件, 合并成一个CentOS-6.10-x86_64-Everything.iso文件,并将其配置为yum源
#创建目录
mkdir -pv /mnt/dvd{1,2,3} /mnt/iso
#上传镜像,并挂载
mount -o loop /mnt/iso/CentOS-6.10-x86_64-bin-DVD1.iso /mnt/dvd1
mount -o loop /mnt/iso/CentOS-6.10-x86_64-bin-DVD2.iso /mnt/dvd2
#拷贝文件
cp -av /mnt/dvd1 /mnt/dvd3
cp -v /mnt/dvd2/Packages/*.rpm /mnt/dvd3/Packages
#合并TRANS.TBL
#将DVD2中TRANS.TBL的信息追加到DVD1中TRANS.TBL后面, 并排序保存
cat /mnt/dvd2/Packages/TRANS.TBL >> /mnt/dvd3/Packages/TRANS.TBL
mv /mnt/dvd3/Packages/{TRANS.TBL,TRANS.TBL.BAK}
sort /mnt/dvd3/Packages/TRANS.TBL.BAK > /mnt/dvd3/Packages/TRANS.TBL
rm -rf /mnt/dvd3/Packages/TRANS.TBL.BAK
#备份yum配置文件
cd /etc/yum.repos.d
rename .repo .repo.bak *.repo
#生成新的yum配置文件
vi /etc/yum.repos.d/CentOS-Media.repo
[c6-media]
name=CentOS-\$releasever - Media
baseurl=file:///mnt/dvd3
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
yum clean all
yum makecache
练习
1:创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载 至/backup目录
fdisk /dev/sd{b,c}1 <<EOF
n
p
+1G
w
EOF
mkfs.ext4 /dev/sd{b,c}1
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/sd{b,c}1
vim /etc/fstab
#添加sdb为自动挂载
/dev/sdb1 /backup ext4 defaults 0 0
mount -a
2:创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4, 开机可自动挂载至/mydata目录
fdisk /dev/sd{b,c,d}1 <<EOF
n
p
+2G
w
EOF
mkfs.ext4 /dev/sd{b,c,d}1
mdadm -C /dev/md0 -a yes -l 5 -n 3 -c 256 /dev/sd{b,c,d}1
vim /etc/fstab
#开机自动挂载sdb1
/dev/sdb1 /mydata ext4 defaults 0 0
mount -a
练习
1、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
fdisk /dev/sd{b,c}1 <<EOF
n
p
+10G
w
EOF
mkfs.ext4 /dev/sd{b,c}1
pvcreate /dev/sd{b,c}1
vgcreate -s 16m testvg /dev/sd{b,c}1
lvcreate -L 5G -n testlv testvg
mkfs.ext4 /dev/testvg/testlv
vim /etc/fstab
/dev/testvg/testlv /users ext4 defaults 0 0
mount -a
2、 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复 制/etc/pam.d目录至自己的家目录
useradd -d /users/archlinux archlinux
su - archlinux
cp /etc/pam.d .
3、扩展testlv至7G,要求archlinux用户的文件不能丢失
umount /users
resize2fs /dev/testvg/testlv 7G
fsck -f /dev/testvg/testlv
resize2fs /dev/testvg/testlv 7G
lvextend -L 7G /dev/testvg/testlv
mount -a
lvs
df -h
ll /users
4、收缩testlv至3G,要求archlinux用户的文件不能丢失
umount /users
resize2fs /dev/testvg/testlv 3G
fsck -f /dev/testvg/testlv
resize2fs /dev/testvg/testlv 3G
lvreduce -L 3G /dev/testvg/testlv
mount -a
lvs
df -h
5、对testlv创建快照,并尝试基于快照备份数据,验证快照的功能
lvcreate -l 64 -s -n testlv-snapshot -p r /dev/testvg/testlv
mkdir /mnt/snap
mount -o ro,nouuid /dev/testvg/testlv-snapshot /mnt/snap
umount /dev/testvg/testlv-snapshot
umount /dev/testvg/testlv
lvconvert --merge /dev/testvg/testlv-snapshot
umount /mnt/snap
lvremove /dev/testvg/testlv-snapshot