Linux 磁盘
Raid
硬件
raid raid 卡 scsi
软件
raid (os) /dev/md0 mdadm
磁盘的分区
Fidsk 工具
fdisk -l 可以查看分区情况
使用
Fdisk 设备名称 创建新的分区
p 显示分区表
n 创建新的分区
d 删除
id 修改
id
q 放弃退出
w 保存退出
但是仅仅这样还不够,必须使用
partprob来使计算机识别,之后
必须进行格式化,使用指令
mkfs -t 文件系统类型 设备名称 ,这样格式化完毕,使用
mount
设备名称 挂载点,当然也可以使用永久挂载
,vim /etc/fstab
LABEL=/
/ ext3 defaults 1 1
.磁盘配额
2.1磁盘配额主要分为以下步骤:
(
1)编辑/etc/fstab 将所要进行磁盘配额的分区进行添加进去.
(
2)为了使之生效可以重启也可以执行mount -a
(
3)扫描在做磁盘配额的空间上有那些用户使用了多少空间
Quotacheck -a -u -g -v -cSdaf
(
4)开始针对用户和组做配额的编辑
edquota -u username
(
5)激活配置服务
quotaon 分区文件
(
6)修改开机脚本
修改
/etc/rc.d/rc.local
2.2磁盘配额脚本例子
#!/bin/bash
#####################################
###step0:echo the disk for account and choose
df -h|tail -2
echo "Please input the partition you want to quota!"
read -p"Notice!Please choose /dev/sda5 or /dev/sda6:"
USERPATITION
read -p"Please input the user you want to know(user4 or
user5)"USERQUOTA
####################################
###step1:change the file /etc/fstab
if [$USERPARTITION =="/dev/sda5"];then
MOUNTDEV="/mnt/5"
elif[$USERPARTITION =="/dev/sda6"];then
MOUNTDEV="/mnt/6"
else
echo "Sorry,the disk you input is a wrong place,please
check again!"
fi
if grep $USERPARTITION /etc/passwd &>~/rubbish;then
echo"Please wait...."
else
echo "I'm Sorry!The user you input is not exists!"
fi
if grep $USERPARTITION /etc/fstab &>~/rubbish;then
sed -i 's&$USERPARTITION'.*&'$USERPARTITION' '$MOUNTDEV'
auto defaults,usrquota 0 0&' /etc/fstab &>~/rubbish
else
echo "$USERPARTITION $MOUNTDEV auto defaults,usrquota 0
0 ">>/etc/fstab &>~/rubbish
fi
#####################################
###step2:mount all the devices
mount -a &>~/rubbish
#####################################
###step3:check the quota
quotacheck -augv &>~/rubbish
echo "Please define the diskquota for $USERQUOTA & save
the changed file"
edquota -u $USERQUOTA
sleep 2
echo "OK!Thank your coroperation!"
########################################
###step4:quotaon
quotaon $USERPARTITION &>~/rubbish
######################################
###step5:Add the auotorunning task
echo "quotaon $USERPARTITION ">>/etc/rc.d/rc.local
echo"Ok!The quota has been done!"
tune2fs工具
tune2fs -j 创建日志
-J 调整日志选项
size= 调整日志大小
device 调整日志的路径到一个地方
-c 调整挂载的次数
-i 调整时间的间隔
-m 调整保留的块的百分比(
-m 10不需要加百分号)
-l查看某个分区(但是没有
dumpe2fs的详细)
Raid5
创建分区
4,5.6,7,8并改变其id号
Partprobe /dev/sdb 重新读取磁盘分区表
Mdadm –Cv /dev/md1 -a yes –l 5 –n3 –x 1 /dev/sdb{5,6,7,8}创建
Mdadm -D /dev/md1 查看信息
Mkfs –t ext3
/dev/md1 格式化
Mkdir /mnt/raid5创建挂载点
然后进行挂载
mkdir /dev/md1 /mnt/raid5/
lvm 逻辑卷管理器
动态改变分区大小
灵活
创建
pvcreate(创建物理卷) vgcreate(创建卷组) lvcreate(创建逻辑卷)
查看
pvdisplay vgdisplay lvdisplay
改变大小
vgreduce lvreduce
移除
vgremove pvremove lvremove
各种参数可以在系统中查到。
移出时由高到低移除
其中在进行规划
id则idwei 8e
步骤:
创建物理卷 三个
9,10,11 id号全为8e
重新读取分区表
partprobe /dev/sdb,查看命令(cat /proc/partitions)
Pvcreate /dev/sdb{
9,10,11}创建物理卷成功显示命令(pvdisplay /dev/sdb(9,10,11))显示出无卷组
2,创建卷组
vgcreate testvg /dev/sdb9 /dev/sdb10
3,创建逻辑卷
lvcreate –L 400M(大小) -n testlv(逻辑卷名称) testvg
显示命令(
lvdisplay)
4,格式化
mkfs –t ext3 、/dev/testvg/testlv
5,创建挂载点并挂载
mnt/testlv
6,逻辑卷扩展
vextend –L +50M(增加大小) /dev/testvg/tedtlv ;resize2fs /dev/testvg/tedtlv(第二步不可省,负责增加无效 可用df –h查看)
7 减小逻辑卷 :卸载
unmount /mnt/testlv/
e2fsck -f /dev/testvg/testlv
resize2fs -f /dev/testvg/testlv 350m
lvreduce -L 350m(减少到
) /dev/testvg/tedtlv
8 卸载
unmount /mnt/testlv/
Lvremove /dev/testvg/testlv 逻辑分区卸载
Vgremove testv 删除卷组
Pvremove /dev/sdb{
9,10,11}删除物理卷
数据存储
数据存储的特性:
1.效率 要求的效率要高一些2.冗余
动态磁盘
(
1)简单卷 可以动态的延伸它的尺寸
(
2)跨区卷 跨越多个磁盘(一般要求成员2-32个成员) 效率一
般,没有冗余能力
(
3)带区卷(raid 0卷)(2-32个成员)将数据等分成n份 要求
成员的使用空间必须一样的,数据被等分(每一份是
64k)同时写入多
个成员 效率高 没有冗余
(
4)镜像卷 2个成员上50%利用率有一定的冗余,写的效率一般
读取速度比较快,如果有一个磁盘坏掉了,那么将丢失的删除,删除
磁盘,在新添加的硬盘上添加镜像
(
5)raid 5卷 要求成员数量3-32 利用率n-1/n 写入慢 读取(
正常 快)(不正常 慢) 冗余能力
在
linux中主要支持raid 0 1 5 6 10(是raid 1与raid0 合体)
硬件
raid raid卡(scsi)代价高昂/dev/sd开头
软
raid 一般性能稳定性较为差 /dev/md(multi device)(驱动
),使用
mdadm命令可以创建Raid磁盘.
备份
快照
------>>备份(对当时的状态的备份)
针对逻辑卷做快照
pvcreate /dev/sdb{9,10}
vgcreate testvg /dev/sdb{9,10}
lvcreate -L 300M -n testlv testvg
mkfs -t ext3 /dev/testvg/testlv
mount /dev/testvg/testlv /mnt/testlv
在逻辑卷上存放东西,然后做快照
lvcreate -L 10M -s -n snapshotlv /dev/testvg/testlv
mkdir /mnt/snap
mount -o ro dev/testvg/snapshotlv /mnt/snap
在挂载快照的过程中尽量就使用
ro模式,尽量改变不要超过快照
的大小,否则快照就会崩溃
.
做备份
dump -0u(是零)
/dev/testvg/snaplv -f /tmp/dump.19
假如数据崩溃,模拟,
umount /mnt/testlv
lvremove /dev/testvg/snaplv
lvremove /dev/testvg/testlv
这样假如说数据崩溃
mkdir abc
restore -r -f /tmp/dump.19