文件系统
ext 2 3 4
swap
iso9660
vfat (fat32)
jfs gfs
MBR 主引导记录 512B(BOOTLOADER 446B PARTION 64B MAGIC 2B)
1.分区 ,格式化 ,挂载
fdisk -l 查看磁盘现有分区
磁盘id 83 表示是ext2/ext3 82表示是swap
最多4个主分区 1个扩展分区
fdisk 磁盘文件 (fdisk /dev/sda) 【对磁盘进行分区
m 帮助
n 创建
d 删除
t 改id
w 保存退出
q 不保存推出
t 改变类型id
p 显示已有分区
sfdisk 备份分区表
sfdisk -d /dev/sda >/root/sda.out 对分区表进行备份
/proc/内存和内核存储目录
ps -aux |less 查看所有进程
[root@localhost /]# cat /proc/partitions 查看磁盘信息
init 6 重启
partproble 磁盘文件 (partprobe /dev/sda) 【对分区进行识别
(cat /proc/partitions)
2.格式化
mkfs -t ext3 /dev/sda5 对sda5磁盘进行格式化为ext3
ext2 mkfs -t ext2 mke2fs mkfs.ext2 将磁盘格式化为ext2
ext3 mkfs -t mkfs.ext3 将磁盘格式化为ext3
vfat mkfs.vfat 将磁盘格式化为vfat
swap mkswap 将磁盘格式化为swap
3.挂载
[root@localhost /]# mount /dev/sda5 /mnt/5 将sda5挂载到/mnt/5
a。临时 mount -t 文件系统类型 -o 选项1,选项n 分区文件 挂载点
mount 查看
df -h -T 查看挂载文件及其类型
磁盘配额
1.vim /etc/fstab 建立自动挂载 usrquota,grpqouta
2.重启 init 6 或者 mount -a
3.quotacheck -a扫描所有分区
-u磁盘用户占用空间
-g组占用空间
-v详细信息
-c忽略旧文件
[root@localhost ~]# quotacheck -augvc
4.edquota -u 用户帐号
-g 组帐号
-p 帐号1 帐号2 将帐号1的限制复制给帐号2
[root@localhost 6]# edquota -u user1
5.quotaon 分区文件 【激活edquota -u user1
[root@localhost 6]# quotaon /dev/sda6
6.vim /etc/rc.d/rc.local 编辑开机启动项
[user1@localhost 6]$ dd if=/dev/zero of=f2.user1 bs=1M count=10
脚本实现磁盘配额
1.显示分区 (编号 分区文件 大小)
2.提示输入做配额的分区
3.判断 在/etc/fstab,该分区是否挂载 若存在 sed 正行替换
sed `s&/dev/sda6.*&/dev/sda6 /mnt/6 auto defaults,usrquota 0 0&` /etc/
fstab
不存在 echo 。。。。。>> /etc/fstab
4.mount -a
5.quotacheck -a -u -g -v -c
6.edquota -u 用户帐号
-g 组帐号
-p 帐号1 帐号2
7.quotaon 分区文件
8.vim /etc/rc.d/rc.local
vim disk.sh
#!/bin/bash
#display partion table
echo "**********************"
fdisk -l |grep -v "^$" |grep -v -i -E "disk|head|unit|device"|grep -v ? " |awk 'BEGIN {OFS="\t"} {print $1,$4/1000}'
echo"**********************"
#test fstab
read -p "please select partion:" PARTION
if grep $PARTION /etc/fstab;then
MOUNTPOINT=`grep $PARTION /etc/fstab|awk '{print $2}'`
sed -i '$&'$PARTION'.*&'$PARTION' '$MOUNTPION' auto defaults,usrquota 0 0&' /etc/fstab
else
read -p "please select mountpoint:" MOUNTPOINT
mkdir -p $MOUNTPOINT
echo "$PARTION $MOUNTPOINT auto defaults,userquota 0 0">>/etc/fstab
fi
#test partion format
if dumpe2fs $PARTION;then
mount -a
quotachek -augvc
else
mkfs -t ext3 $PARTION
mount -a
quotachek -augvc
fi
#creat user quota
read -p "please input a quota user:" ACCOUNT
if grep $ACCOUNT /etc/passwd;then
edquota -u $ACCOUNT
fi
sleep 3
quotaon $PARTION
echo "quotaon $PARTION" >>/etc/rc.d/rc.local
[root@localhost ~]# fdisk -l |grep -v "^$" |grep -v -i -E "disk|head|unit|device" |grep -v "*" 去掉带有device,“*”号的行
[root@localhost ~]# fdisk -l |grep -v "^$" |grep -v -i -E "disk|head|unit|device" |grep -v "*" |awk 'BEGIN {OFS="\t"}{print $1,$4/1000}'去掉带有device,“*”号的行并打印出第一、四行
vfs
ext2 3 4
swap 虚拟内存
vfat
iso9660 光盘系统
网络文件系统 nfs samba
gfs 全局文件系统
ln-s
软连接不占空间,可跨分区,查询方便
ln
硬链接占空间,不可跨分区
调整参数
tune2fs
-j 创建日志
-J 调整日志选项
size=journal-size 设置日志大小
device=external-journal 指明系统日志在哪个分区
tune2fs -J siza=8 /dev/sda8 将磁盘日志更改为8M
-c 调整挂在的次数
tune2fs -c 0 /dev/sda8 设置最大挂载次数为0
-i 调整时间间隔
tune2fs –i 30 /dev/sda8 每隔30天扫瞄一次
-m 调整保留快百分比
tune2fs -m 10 /dev/sda8 调整保留块大小为10%
-l 查看
tune2fs –l /dev/sda8查看信息
-L volume-label 查看卷标
dumpe2fs 查看详细信息
dumpe2fs /dev/sda8 查看磁盘是否格式化
[root@localhost ~]# mkfs -t ext2 /dev/sda5 将磁盘sda5格式化为ext2文件
[root@localhost ~]# fuser -km /mnt/7 结束/mnt/7上的所有用户
[root@localhost ~]# fuser -v /mnt/7 查看/mnt/7上的用户信息
挂载
1.临时挂载
mount -t 文件系统类型 -o 选项1,选项n 分区文件 挂在点
选项
ro,(rw)
[root@localhost ~]# mount -o remount,ro /dev/sda5 重新挂载/dev/sda5并设置权限不可写入
[root@localhost ~]# mount -o remount,rw /dev/sda5 可写入
(exec),noexec 执行
[root@localhost 5]# mount -o remount,rw,noexec /dev/sda5
不可执行
(suid),nosuid
[root@localhost 5]# mount -o remount,rw,nosuid /dev/sda5
nosuid只能以自己的身份执行
(dev)可在该分区创建设备文件 nodev 可以创建但不能使用
[root@localhost ~]# ll /dev/sd* 查看设备
defaults=
mknode
[root@localhost ~]# mknod /mnt/5/qq b 22 0 在/mnt/5下创建一个qq块设备
[root@localhost ~]# uname -r 查看内核版本
2.4 每种设备一个文件
2.4 之后 udev (hotplug) /sys --->/dev
[root@localhost ~]# mount -t ext2 /dev/sda5 /mnt/5 将/dev/sda5重新挂载为ext2格式
2.永久挂载(自动)
/etc/fstab 永久挂在位于的目录
分区标识/卷标 挂载点 文件系统类型 参数 dump的频率 fsck的顺序
对分区进行标识
1.标识 (文件 /dev/sda7)
2.卷标
[root@localhost 5]# e2label /dev/sda2 查看/dev/sda2的卷标
[root@localhost 5]# e2label /dev/sda5 data 将/dev/sda5/卷标设为data
[root@localhost ~]# mount LABEL=data /mnt/5 将/dev/sda5挂在到/mnt/5下
blkid
[root@localhost 5]# blkid /dev/sda5 查看/dev/sda5的uuid
blkid 分区
findfs LABEL=<label>|UUID=<uuid>
[root@localhost 5]# findfs LABEL=/ 根据卷标查看它代表哪个分区
3.uuid
dxdiag 查看计算机系统信息(在windows系统下使用)
free -m 以M查看内存
top 查看虚拟内存
交换分区
a.使用分区
id 82 虚拟文件系统id为82
fdisk /sev/sda
t 为磁盘重新设置id
82 设置id为82
w 保存退出
[root@localhost ~]# partprobe /dev/sda 对/dev/sda重新识别
[root@localhost ~]# cat /proc/partitions 查看内核参数
格式化指令 mkswap ---》swpon (临时)
[root@localhost ~]# mkswap /dev/sda5 格式化分区
[root@localhost ~]# swapon /dev/sda5 增加到现有虚拟内存中
[root@localhost ~]# swapoff /dev/sda5 重虚拟内存中移除
[root@localhost ~]# swapon -s 查看虚拟内存所分布的分区
永久(/etc/fstab)
vim /etc/fstab
/dev/sda8 swap swap defaults 0 0
b.使用文件
dd if=/dev/zero of=文件 bs=尺寸 count=数量
[root@localhost ~]# dd if=/dev/zero of=/swapfile bs=1M count=500
新建一个文件大小为500M输入到/dev/zero输出到/swapfile
目录
bin 存放可执行文件,所有用户都可执行
sbin 放二进制程序指令,只有管理员能执行
boot 挂在点.存放内核文件
home 用户的家目录
media 可插拔的设备挂载点,自动挂在目录
misc 杂项目录,存放混乱文件
opt 额外文件存放目录
proc 内存和内核镜像
[root@localhost ~]# ll /lib/modules/2.6.18-164.el5/ 查看内核所支持的所有模块
[root@localhost ~]# du -sh /lib/modules/2.6.18-164.el5/ 查看内核所有文件大小
[root@localhost boot]# vim /etc/grub.conf 编辑内核文件
[root@localhost boot]# ll /lib/modules/2.6.18-164.el5/ 查看额外的驱动
[root@localhost Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm 安装http服务
[root@localhost Server]# rpm -qc httpd 查看可配置文件
[root@localhost Server]# rpm -q --scripts httpd 查看安装过程执行的脚本
[root@localhost Server]# rpm -e httpd 卸载http服务
[root@localhost Server]# vim /etc/ld.so.conf 存放做系统调用应该查看那些文件
设置选项,使其他人无法ping通自己的方法
[root@localhost ~]# cd /proc/
[root@localhost proc]# cd net
[root@localhost proc]# cd ipv4
[root@localhost ipv4]# echo "1" > icmp_echo_ignore_all
存储的特性: 1.效率 2.冗余
动态磁盘 1.简单卷 能动态的延伸尺寸
2.跨区卷 2-32 效率一般 无冗余
3.带区卷 (raid 0) 2-32 成员使用空间相同 数据等分64k 同时写入多个成员
效率高 无冗余 容量只和
4.镜像卷 (raid 1) 2 50% 冗余 写的效率 一般 读取 快
5.raid 5卷 3-32 利用率 n-1/n 写入 慢 读取(正常 快)(不正常 慢)
linux raid 0 1 5 6 10
硬件raid raid 卡(scsi接口) /dev/sd
软件raid /dev/md0 1 2 驱动
[root@localhost ~]# cat /proc/mdstat 查看多设备状态
mdadm -C /dev/md0 -l 1 -n 2 /dev/sdb{1,2} 创建一个sdb1,sdb2
mdadm --detail /dev/md0 查看/dev/md0详细状态信息
mdadm --fail /dev/md0 /dev/sdb1 将损坏磁盘/dev/sdb1设置为失效
mdadm --add /dev/md0 /dev/sdb3 增加一个新的成员sdb3
mdadm --remove /dev/md0 /dev/sdb1 删除成员sdb1
mdadm -S /dev/md0 停止设备/dev/md0的运行
mdadm -A /dev/md0 /dev/sdb2 /dev/sdb3 重新激活sdb2,sdb3
mdadm --detail --scan 对设备信息扫描
mdadm --detail --scan >>/etc/mdadm.conf 将扫描信息输入到/etc/mdadm.conf
cat /etc/mdadm.conf 查看扫描信息
mdadm -A -s 更据/etc/mdadm.conf 内的扫描信息进行激活
raid 实现的两种方法
1.硬件raid raid 卡 scsi
2.软件raid (os) /dev/md0 mdadm
raid 5
mdadm -Cv /dev/md1 -a yes -l 5 -n 3 -x 1 /dev/sdb{5,6,7,8}自动创建sda5,sda6,sda7,sda8 3个有用一个空余设备文件
lvm 逻辑卷管理器
动态改变分区大小 灵活
创建、
pvcreate 物理卷
pvcreate /dev/sdb{9,10,11} 创建物理卷sdb9,sdb10,sdb11
vgcreate 卷组
vgcreate testvg /dev/sdb9 /dev/sdb10 创建卷组test并将sdb9,sdb10加入进去
lvcreate 逻辑卷
lvcreate -L 400M -n testlv testvg 在testvg上创建大小400M名为testlv的逻辑卷
查看
pvdisplay 物理卷查看
pvdisplay /dev/sdb9 查看sdb9信息
vgdisplay 卷组查看
lvdisplay 逻辑卷查看
改变大小
物理卷无法拓展
vgextend 卷组拓展
vgextend testvg /dev/sdb11 新增物理拓展卷sdb11
vgreduce 卷组缩减
lvextend 逻辑卷拓展
lvextend -L +50M /dev/testvg/testlv 将/dev/testvg/testlv拓展50M
resize2fs /dev/testvg/testlv 重新执行到磁盘文件中
lvreduce 逻辑卷缩减
移除
lvremove 先拆除逻辑卷
lvremove /dev/testvg/testlv 删除逻辑卷/dev/testvg/testlv
vgremove 在拆除卷组
vgremove testvg 删除卷组testvg
pvremove 最后在拆除物理卷
pvremove /dev/sdb{9,10,11} 删除物理卷
缩小】
1.卸载
umount /mnt/testlv/ 取消挂载
2.强制文件系统扫描 e2fsck -f (fsck)
e2fsck -f /dev/testvg/testlv 对文件进行扫描
3.resize2fs
resize2fs /dev/testvg/testlv 350 将文件系统缩减为350M
4.lvreduce
lvreduce -L 100M /dev/testvg/testlv 将系统减少到100M
备份
dd if=inputfile of=outfile bs=blocksize count=number
if:输入文件或设备
of:输出文件或设备
bs:设定outfile文件的块大小,默认为一个扇区512B
count:outfile占用的块数
dd if=/dev/hda1 of=/home/hda1.bak
备份分区hda1为hda1.bak,需要恢复时将if和of反过来即可
快照 --》备份
pvcreate /dev/sdb{9,10} 创建物理卷
vgcreate testvg /dev/sdb{9,10} 创建卷组并将物理卷sdb9,sdb10加入
lvcreat -L 300M -n testlv testvg 创建大小为300M名为testlv的逻辑卷
mkfs -t ext3 /dev/testvg/testlv
mount /dev/testvg/testlv /mnt/testlv/
cd /mnt/testlv/
cp /etc/passwd ./
cp /etc/inittab ./
lvcreat -L 10M -s -n snap-lv /dev/testvg/testlv 创建快照名snap-lv
mkdir /mnt/snap
mount -o ro ,remount/dev/testvg/snap-lv /mnt/snap/ 以ro的方式对快照进行挂载
dump 备份
dump -Ou /dev/testvg/snap-lv -f /tmp/dump.19 对文件件/dev/testvg/snap-lv进行完全备份命名为dump.19
restore -r -f /tmp/dump.19 回复备份数据dump.19内的备份文件
sfdisk 备份分区表
sfdisk -d /dev/sda >/root/sda.out 对分区表进行备份
本文出自 “新手报到” 博客,转载请与作者联系!