总结:
廉价磁盘冗余阵列实验(RAID)
1、先在设置中添加3块硬盘,大小都要大于10G
2、然后进行扫描host0/1/2,将磁盘显示出来
echo " - - - " >/sys/class/scsi_host/host0|1|2/scan
3、对三个磁盘进行分区,分出10G大小的一个区
fdisk /dev/sdc n创建分区 t修改id w进行保存
fdisk /dev/sdd n创建分区 t修改id w进行保存
fdisk /dev/sde n创建分区 t修改id w进行保存
4、然后查看是否生效,如果不生效就让它生效
lsblk进行查看是否生效
如果没生效就:
centos6 partx -a /dev/sdc
centos7 partprobe /dev/sdc
5、用命令进行磁盘阵列的构建,创建出/dev/md0
mdadm -C /dev/md0 -a yes -l 0 -c 32 -n 3 /dev/sd{c1,d1,e1}
6、用命令查看是否构建成功
mdadm -D /dev/md0
7、将构建的信息存到/etc/mdadm.conf
mdadm -Ds /dev/md0 >/etc/mdadm.conf
8、创建文件系统
mkfs.ext4 /dev/md5
9、将/dev/md0 挂载到/mnt/raid0下面
mkdir /mnt/raid0
vim /etc/fstab 进入文件中
在文件中加上一行
UUID=c3b3d695-490c-4bac-839b-5cf586919afa /mnt/raid0 ext4 defaults 0 0
10、进行测试
dd if=/dev/zero of=f1 bs=1M count=1024
dd if=/dev/zero of=/mnt/raid0/f1 bs=1M count=1024
dd if=/mnt/raid0/f1 of=/dev/null
dd if=/app/f1 of=/dev/null
11、删除raid
vim /etc/fstab 编辑文件删除挂载信息
umount /mnt/raid0 解除挂载
mdadm -S /dev/md5 停止raid
rm -f /etc/mdadm.conf 删除配置文件
mdadm --zero-superblock /dev/sdc2 清空文件系统
也可以通过删除分区来进行清除
挂载文件到目录并且创建loop设备
(1)创建loop设备并将文件使用此设备挂载
1、用命令创建loop
mknod /dev/loop8 b 7 8
2、修改权限
chmod 660 /dev/loop8
3、将loop和文件进行关联
touch /app/file1 创建文件
dd if=/dev/zero of=/app/file1 bs=1M count=100
设置文件大小
mkfs.ext4 /app/file1 创建文件系统
losetup /dev/loop8 /app/file1 关联
4、将代表文件的设备挂载到目录下
mount /dev/loop8 /mnt/file1
losetup -a 查询所有挂载了的loop设备(centos6;7不加-a)
5、进行测试
cd /mnt/file1 进入挂载目录
touch a
touch b
echo dafaga > a
echo dhdseiofdlsaflancvnvn > b
umount /mnt/file1
mount /app/f1 /proc -o loop
ls /proc
cat a
(2)如何修改loop默认的数量(centos)
vim /boot/grub/grub.conf 用命令打开此文件编辑
在文件中kernel行的末尾加入下面的内容
max_loop=100
创建swap模拟内存(磁盘和文件均可,后者效率低,但是可迁移)
1、准备一块完全空闲的磁盘,进行2G的分区
fdisk /dev/sdb n t
注意:选择最外面的磁道,柱面最外
2、对分区进行swap文件系统的创建
mkswap /dev/sdb1
3、在配置文件中进行挂载
vim /etc/fstab 打开文件进行配置
配置内容如下
UUID=50a16502-ca86-4436-a07f-b2eaf59a02c5 swap swap pri=2 0 0
4、进行生效,检测是否生效
swapon -a swap都生效
swapon -s 查看都有哪些swap生效
两个centos6的iso合并成一个
1、 根据https://wiki.centos.org/zh-tw/TipsAndTricks/ CDtoDVDMedia?highlight=%28mkiso%29网址复制脚本,将脚本复制 到一个新的sh文件(centos6)
2、运行脚本,看是否安装缺失的包,然后查看使用帮助
./convertIso.sh
./convertIso.sh --help
3、将两个iso文件复制到一个目录
4、运行脚本实现保持主引导记录的iso镜像合并
实验:迁移/Home到新独立分区
1、建立新分区
2、建立文件系统
3、建目录,挂载
mkdir /mnt/home
mount /dev/sda6 /mnt/home
4、将/home下的文件复制到磁盘中
cp /home/* /mnt/home -av
5、将/home下的文件进行打包
tar cvf /app/home.tar /home
6、防止有人访问此数据
init 1 断开网络,在远程不要执行,要在机房里
7、删除冗余目录文件
rm -rf /home/*
8、进行挂载
vim /etc/fstab 编辑文件挂载
UUID=b0421d9a-8072-4be5-9526-070535ac0a8e /home ext4 defaults 0 0
9、挂载生效
mount -a
umount /mnt/home
10、还到原有模式
init 5 图形界面
实验:实现配额
1、启用配额功能
vim /etc/fstab
UUID=b0421d9a-8072-4be5-9526-070535ac0a8e /home ext4 usrquota,grpquota 0 0
2、创建配额数据库
vim /etc/selinux/config 编辑此文件
SELINUX=permissive 修改为此
setenforce 0 使修改生效
quotacheck -cug /home
3、启用数据库
quotaon /home
4、指用户的空间限制
edquota wang
Disk quotas for user wang (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda6 1164 800000 1000000 159 162 165
5、测试
dd命令进行测试
6、解除空间配额限制
quotaoff /home
rm -f /home/aquota*
vim /etc/fstab 编辑文件将配额功能去掉
mount -o remount /home 使文件取消配额的功能生效
常用命令:
查看所有挂载,不怕隐藏:
findmnt /mnt/sdb2 查看是否挂载
cat /proc/mounts 查看挂载信息
du --max-dept=1 /app/ 查看/app下的第一级的目录
概念总结:
1、用户修改数据的机器工作过程:首先将数据读取到内存的缓存中,然后将数据进行处理,之后将处理后的数据写到缓冲区,让内核将缓冲区的数据写到磁盘,而程序将数据放到缓冲区后就不再管了,去干别的事情了,这样可以提高它的工作效率;
2、dd复制文件的内部过程:先将bs写到内存中,然后将bs写到磁盘中;如果bs超过了内存大小,就会发生内存溢出,即使不发生内存溢出,也会导致复制变慢,因为内存先要空出bs大小的空间,就会使用swap模拟内存使用,导致性能下降
3、swap分区是在内存不够的时候模拟内存来使用的,为了使它能够快一点,可以放在外圈0磁道,就是使它为一块硬盘的第一分区