Linux 第15天: (08月29日) 练习和做业linux
管理磁盘配额数据库
fdisk
partx -a /dev/sdavim
mount /dev/sda6 /home
df
cd /home
mv * /homeapp
vim /etc/fstab 启用磁盘配额挂载选项ide
:r!blkid /dev/sda6 /home ext4 default 0 0
:r!blkid /dev/sda6 /home ext4 usrquota,grpquota 0 0spa
mount -o remount /dev/sda6rem
cdget
getenforce \
setenforce 0
getenforceit
quotacheck -c -u -g /home 建立磁盘配额数据库class
cd /home
file aquota.*
quotaon -p /home 查看磁盘配额
quotaon /home 启用磁盘配额
edquato user1 编辑磁盘配额
quota user1 查看磁盘配额
repquota /home 查看磁盘配额
edquota -p user1 user2 复制磁盘配额
repquota /home 查看磁盘配额
setquota user2 1000 2000 0 0 /home 非交互命令磁盘配额
quota user1 查看磁盘配额
repquota /home 查看磁盘配额
管理磁盘raid
fdisk t fd (raid格式)
partx -a /dev/sdd
lsblk
mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sd{b,c,d,e,f}1 创建raid5
mdadm -G /dev/md0 -n 6 -a /dev/sdd4 增长一个硬盘
mdadm -D /dev/md0
cat /proc/mdstat 观察状态
mkfs.ext4 /dev/md0
vim /etc/fstab
:r! UUID="..." /mnt/raid ext4 defaults 0 0
mdadm -Ds /dev/md0 > /etc/mdadm.conf 生成配置文件
mdadm -S /dev/md0 中止raid
mdadm -A /dev/md0 启动raid
mdadm /dev/md0 -f /dev/sdf1 模拟损坏
mdadm /dev/md0 -r /dev/sdf1 删除成员
mdadm /dev/md0 -a /dev/sdf1 增长成员
umount /mnt/raid/
mdadm -S /dev/md0
rm -f /etc/mdadm.conf
fdisk d 逐一删除分区
partx -d --nr 7 /dev/sda
blkid
vim /etc/fstab 删除raid的UUID
mdadm --zero-superblock /dev/sdd 完全清除顽固信息
=========================================
dd if=/dev/sdb of=/dev/sdc bs=1 count=512
dd if=/dev/sdb of=/dev/sdd bs=1 count=512
dd if=/dev/sdb of=/dev/sde bs=1 count=512
dd if=/dev/sdb of=/dev/sdf bs=1 count=512
partx -a /dev/sdc
partx -a /dev/sdd
partx -a /dev/sde
partx -a /dev/sdf
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x l /dev/sd{c,d,e,f}
mdadm -D /dev/md0
cat /proc/mdstat
watch -n 1 cat /proc/mdstat
mdadm -Ds /dev/md0 > /etc/mdadm.conf
mkfs.ext4 /dev/md0
vim /etc/fstab
/dev/md0 /mnt/raid ext4 defaults 0 0
mkdir /mnt/raid
mount -a
df -h
mdadm /dev/md0 -f /dev/sdc
cat /proc/mdstat
mdadm /dev/md0 -r /dev/sdc
mdadm /dev/md0 -a /dev/sdc
管理物理卷pv, 卷组vg, 逻辑卷lv
pvs
pvdisplay
pvcreate /dev/sde 创建物理卷
pvcreate /dev/sdf 创建物理卷
pvs
pvdisplay
vgcreate vg0 /dev/sde /dev/sdf 创建卷组
pvs
pvdisplay
vgs
vgdisplay
lvcreate -n lv0 -L 20G vg0 创建逻辑卷
pvs
pvdisplay
vgs
vgdisplay
lvs
lvdisplay
ll /dev/vg0/lg0
ll /dev/mapper/vg0-lv0
blkid UUID 正确的UUID
lvdisplay UUID 错误的UUID
vim /etc/fstab 挂载逻辑卷
:r!blkid /dev/vg0/lv0 UUID /mnt/lv0 ext4 defaults 0 0
mkdir /mnt/lv0
mount -a
df -h
lvextend -l +100%FREE /dev/vg0/lv0 扩展逻辑卷
lvextend -L +10G /dev/vg0/lv0 扩展逻辑卷
df -h
lvs
resize2fs /dev/vg0/lv0 格式化逻辑卷
df -h
lvs
lsblk
pvcreate /dev/sdd 创建物理卷
pvs
vgextend vg0 /dev/sdd 扩展卷组
vgs
lvextend -L +20G /dev/vg0/lv0 扩展逻辑卷
resize2fs /dev/vg0/lv0 格式化逻辑卷
pvcreate /dev/sde
pvs
vgcreate vg0 -s 16M /dev/sde
pvs
vgdisplay
lvcreate -n mylv -L 10G vg0
lvs
lvdisplay
pvcreate /dev/sdc
vgextend vg0 /dev/sdc 扩展卷组
mkfs.xfs /dev/vg0/mylv
blkid
mkdir /mnt/mylv
mount /dev/vg0/mylv /mnt/mylv
df -h
lvextend -L +5G /dev/vg0/mylv 扩展
逻辑卷
resize2fs ext格式
xfs_growfs /mnt/mylv/ xfs格式
lvs
vgs
lvextend -r -l +100%FREE /dev/vg0/mylv 扩展逻辑卷
df -h
lvs
vgsdisplay
umount /mnt/lv0/
e2fsck -f /dev/vg0/lv0 检查文件系统
resize2fs /dev/vg0/lv0 10G 缩减文件系统
lvreduce -L 10G /dev/vg0/lv0 缩减逻辑卷
mount -a
pvmove /dev/sdb 搬移物理卷空间
vgreduce vg0 /dev/sdb 卷组里删物理卷
pvremove /dev/sdb 删除物理卷
lvextend -r -L +2G /dev/vg0/lv0 扩展逻辑卷
lvcreate -n lv0-snapshot -s -p r -L 10G /dev/vg0/lv0
lvs
lvdisplay
mkdir /mnt/snapshot
mount /dev/vg0/lv0-snapshot /mnt/snapshot
umount /mnt/lv0/
umount /mnt/snapshot
lvremove /dev/vg0/lv0
vgremove vg0
fdisk d
vim /etc/fstab
rm -rf snapshot
练习
1:建立一个可用空间为1G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
lsblk
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
partx -a /dev/sdb
partx -a /dev/sdc
partx -a /dev/sdd
lsblk
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 -c 128k /dev/sd{b,c,d}
mdadm -D /dev/md0
cat /proc/mdstat
mkfs.ext4 /dev/md0
vim /etc/fstab
:r! UUID="......" /backup ext4 defaults 0 0
mdadm -Ds /dev/md0 > /etc/mdadm.conf
mdadm -A /dev/md0
2:建立由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录
lsblk
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
partx -a /dev/sdb
partx -a /dev/sdc
partx -a /dev/sdd
partx -a /dev/sde
lsblk
mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 -c 256k /dev/sd{b,c,d}
mdadm -D /dev/md0
cat /proc/mdstat
mkfs.ext4 /dev/md0
vim /etc/fstab
:r! UUID="......" /mydata ext4 defaults 0 0
mdadm -Ds /dev/md0 > /etc/mdadm.conf
mdadm -A /dev/md0
练习
一、建立一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 然后在卷组中建立大小为5G的逻辑卷testlv;挂载至/users目录
二、新建用户archlinux,要求其家目录为/users/archlinux,然后su切换至archlinux用户,复制/etc/pam.d目录至本身的家目录
三、扩展testlv至7G,要求archlinux用户的文件不能丢失
四、收缩testlv至3G,要求archlinux用户的文件不能丢失
五、对testlv建立快照,并尝试基于快照备份数据,验正快照的功能
pvdisplay
pvcreate /dev/sdb
pvcreate /dev/sdc
pvdispaly
vgcreate testvg /dev/sdb /dev/sdc
vgdisplay
lvcreate -n testlv -L 5G testvg
lvdisplay
vim /etc/fstab
:r!blkid /dev/testlv UUID /users ext4 defaults 0 0
useradd archlinux -d /users/archlinux
su - archlinux
copy /etc/pam.d /home/archlinux/
lvextend -L 7G /dev/testvg/testlv
resize2fs /dev/testvg/testlv
lvdisplay
umount /users/testlv
e2fsck -f /dev/testvg/testlv
resize2fs /dev/testvg/testlv 3G
lvreduce -L 3G /dev/testvg/testlv
mount -a
lvcreant -n testlv-snapshot -s -p r -L 3G /dev/testvg/testlv
mkdir mnt/snapshot
mount /dev/testvg/testlv /mnt/snapshot
实验ext4和btrfs互转
btrfs balance start -dconvert=single /mydata
btrfs balance start -mconvert=raid1 /mydata
btrfs device delete /dev/sdd /mydata
fdisk /dev/sdd分区
mkfs.ext4 /dev/sdd1
mount /dev/sdd1 /mnt
cp /etc/fstab /mnt
umount /mnt/
fsck -f /dev/sdd1
btrfs-convert /dev/sdd1 转化ext4为btrfs
btrfs fikesystem show
mount /dev/sdd1 /mnt
实验ext4和btrfs互转
btrfs转化ext4文件系统umount /mntbtrfs-convert -r /dev/sdd1blkid /dev/sdd1再转换成btrfsbtrfs-convert /dev/sdd1