Linux 第15天: (08月29日) 练习和作业

管理磁盘配额

fdisk
partx -a /dev/sda

mount /dev/sda6 /home
df
cd /home
mv * /home

vim /etc/fstab                            启用磁盘配额挂载选项

:r!blkid /dev/sda6  /home  ext4  default  0 0
:r!blkid /dev/sda6  /home  ext4  usrquota,grpquota  0 0

mount -o remount /dev/sda6

cd

getenforce \
setenforce 0
getenforce

quotacheck -c -u -g /home                 创建磁盘配额数据库

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 -x1 /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 彻底清除分区UUID顽固信息

管理物理卷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                     格式化逻辑卷

练习
1:创建一个可用空间为1G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
2:创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录

练习
1、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
2、新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录
3、扩展testlv至7G,要求archlinux用户的文件不能丢失
4、收缩testlv至3G,要求archlinux用户的文件不能丢失
5、对testlv创建快照,并尝试基于快照备份数据,验正快照的功能

实验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 /mnt
btrfs-convert -r /dev/sdd1
blkid /dev/sdd1
再转换成btrfs
btrfs-convert /dev/sdd1

时间: 2024-08-02 02:49:36

Linux 第15天: (08月29日) 练习和作业的相关文章

Linux 第15天: (08月29日) Linux高级文件系统管理

本章内容设定文件系统配额设定和管理软RAID设备配置逻辑卷设定LVM快照btrfs文件系统 配置配额系统综述在内核中执行以文件系统为单位启用对不同组或者用户的策略不同根据块或者节点进行限制执行软限制(soft limit)硬限制(hard limit)初始化分区挂载选项:usrquota.grpquota初始化数据库:quotacheck 为用户设定配额执行开启或者取消配额:quotaon.quotaoff直接编辑配额:edquota username在shell中直接编辑:setquota u

Linux 第30天: (08月5日) 练习和作业

变量脚本 1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 server_ip=`ifconfig|grep'inet\b'|grep -v '127.0.0.1'|tr-s ' '|cut -d' ' -f3` CPUmod=`lscpu|grep -i "model name:"` Meminfo=`free -h|sed -n '2p'|tr -s ' '|cut -

Linux 第16天: (08月31日) 练习和作业

netstat -nt               查看网络连接 netstat -no               查看网络连接win tasklist |findstr ???     查看进程win echo 50 > /proc/sys/net/ipv4/ip_default_ttl    改ttl值 ping -f 10.1.250.95 -s 65507

Linux 第14天: (08月25日) 练习和作业

1.创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/testdir目录,且默认有acl挂载选项 2.写一个脚本,完成如下功能:(1) 列出当前系统识别到的所有磁盘设备(2) 如磁盘数量为1,则显示其空间使用信息否则,则显示最后一个磁盘上的空间使用信息

Linux 第14天: (08月25日) Linux磁盘管理

本章内容磁盘结构分区类型管理分区管理文件系统挂载设备管理虚拟内存 设备文件I/O Ports: I/O设备地址一切皆文件:open(), read(), write(), close()设备类型:块设备:block,存取单位"块",磁盘字符设备:char,存取单位"字符",键盘设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信设备号码:主设备号:major number, 标识设备类型次设备号:minor number, 标识同一类型下的不同设备

Linux基本功杂记——[002]——7月29日课后作业

1.file1文件的内容为:”1 2 3 4 5 6 7 8 9 10” 计算出所有数字的总和 方法一:[[email protected]7 fh]# echo $(tr ' ' '+' <file1) | bc 55 方法二:[[email protected]7 fh]# x=$(($(tr ' ' '+' <file1))) && echo $x 55 方法三:[[email protected]7 fh]# x=$(tr ' ' '+' <file1) | py

Linux基本功杂记——[008]——08月16日课堂练习{BASH脚本}

一.构显99乘法表 #!/usr/bin/env bash test() { for((i=1;i<10;i++)) do for((x=1;x<=$i;x++)) do echo -n "$x x $i = $(($i * $x)) " done echo -e "\n" done } test | gawk 'BEGIN{RS=""}{print}' [email protected] ~/bash_script/2016-08-

Linux 第八天: (08月09日) 练习和作业

1删除/etc/grub2.cfg所有以空白开头的行行首空白字符 sed 's#^[[:space:]]\+##' /etc/grub2.cfgsed -r '[email protected]^[[:space:]][email protected]@' /etc/grub2.cfg 2删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行当行首的#和空白字符 sed    '[email protected]^#[[:space:]]\[email protected]@'

Linux 第七天: (08月05日) 文本处理工具

head -n 指定货权前n行tail -n 指定获取后n行tail -f 显示文件新追加内容 cut -d 指明分隔符,默认tabcut -f 第几个字段cut -c 按字符切割 paste -d 指定分隔符 file1 file2paste -s 所有行合成一行显示 wc -l 统计行数wc -w 统计单词数wc -c 统计字节数wc -m 统计字符数 sort -r 反向排序sort -n 按数排序sort -f 忽略大小写sort -u 删除重复行sort -t c 以c作为字段界定符s