linux的磁盘管理
拿到一块硬盘,我们需要干嘛呢?
一般的情况下,我们要根据具体的需要,对磁盘进行管理,比如划分磁盘分区,
一般情况下,我们可以使用mkfs /dev/sd 或mkfs /dev/hd对磁盘进行分区,一个磁盘上,最多有四个主磁盘分区,当然也可以有三个主磁盘分区,一个扩展磁盘分区,总的来说就是主磁盘分区+扩展磁盘分 区<=4,而在扩展分区中,可以创建多个逻辑磁盘分区。
在创建的过程中,我们可以使用fdisk来创建,在创建的过程中,我们可以通过使用-t来指定创建磁盘分区的文件类型,常见的文件类型 有:ext2.,ext3,swap,fat,vfat,jfs,xfs等,创建完成后,可以使用fdisk -l 查看磁盘分区,在使用fdisk创建分区的时候,会出现一个交互式的创建分区的过程,在里面,我们可以使用d来删除指定分区,使用n来创建新的分区,使用 p来列出现有的磁盘分区,使用t来指定创建磁盘分区的类型,w来保存所做的所有操作。
创建完分区后,有些时候会出现不显示新创建的分区,这个时候我们可以使用partprobe+磁盘名来重新读取一下磁盘分区,如:partprobe /dev/sda
创建完分区,我们还要对磁盘进行格式化,而格式化的命令有两个常用的:
1、mkfs ,使用-t来把指定的磁盘格式化成不同的类型
2、mke2fs,这个命令比mkfs的功能更加强大,如使用-b来指定block的大小,使用-j来把ext2的格式化成ext3的,使用-L来为磁盘添加卷标,使用-m来给管理员留下一个预留的管理空间,通常是使用百分比。
如果磁盘格式化不和用户的意愿,还可以使用tune2fs来修正磁盘,他的选项和mke2fs类似,其中还有一个-c的选项,是用来指定挂载多少次系统会自检,默认的情况下是20次,180天自动自检一次。
前面的工作昨晚了,就要对磁盘进行挂载了,在挂载中,我们尝试用mount命令,取消挂载使用umount命令,在/dev/fstab文件中,可以指定 系统启动时候自动挂载的文件系统,当然,在mount中,有个remount的选项,可以在不用卸载的情况下,就能修改挂载的信息。对于写入/etc /fstab文件的,可以使用mount -a来自动挂载。
挂载完后,我们有的时候要卸载,有的时候,当我们卸载的时候,会出现繁忙的提示,我们可以退出当前目录,也可以使用fuser -v +挂载点,可以查看当前登录的用户,管理员可以强制其退出,使用fuser -km +挂载点,可以踢出用户,这样就能退出了,以上是从拿到一个硬盘到最后使用,
linux下的磁盘管理
类型:
ext3.ext4.ext2.xfs.jfs.feiserfs.iso9660.swap.vfat.ntfs
fdisk -l 查看磁盘分区
fdisk /dev/sda 可以打开一个管理磁盘分区的交互式管理
d:删除一个分区
n:创建分区
p:显示系统上的分区
t:调整分区类型
q:不保存退出
w:保存退出
扩展分区不能格式化
partprobe +磁盘名字 重新读取一下分区表,不需要重启系统
eg:partprobe /dev/sda
mkfs 磁盘格式化命令
-c 检查是否有坏块
-t (ext2,ext3,vfat...)格式化成文件的类型
mkfs [2[Tab]]
mkfs -t ext3=mkfs.ext3
mkfs -t fat=mkfs.vfat
mkfs -t ext2=mkfs.ext2
eg: mkfs -t TYPE /dev/sda5
blkid : command-line utility to locate/print block device attributes
mke2fs 磁盘格式化命令,功能比mkfs更强大
-b block_size {1024|2048|4096}
-c 检查磁盘是否坏块
-j 日志文件系统,就是格式化成ext3的,否则就是ext2的
-L 指定磁盘卷标的
-i 指定type/inode比例(默认128个字节一个inode)
-n 指定type/inode的比率
-m 给管理员留下一个管理空间(默认5%)
fsck 用于检查文件系统的
-t 检查文件系统类型的
-a 自动修复
tune2fs 修正磁盘的系统
-j 直接把ext2升级到ext3
-L 修改卷标
-l 查看系统supperblock的信息
-m 修改管理员预留空间大小比率
-c 指定挂载多少次就自检(默认挂载29次,0,-1 关闭自动自检)
-i 指定每隔多少时间自检一次(默认180天)
-o 设定当前分区默认挂载选项的
dumpe2fs
e2label 查看卷标,也可以加卷标
e2label /dev/sda5 MYDATA 添加卷标
e2label /dev/sda5 查看卷标
mount [-t fstype] [options] DEVICE MOUNT_POINT
-t ext3,iso9660(光盘)
-r 只读
-w 只写
-a 自动挂载所有的文件系统
-n 不写入 /etc/mtab
mount 可以查看系统挂载的,可以在/etc/mtab文件中有实时的记录
-o defaultts
async 异步写入
noatime 不更新访问时间
dev
exec 执行二进制文件
noexec 不执行二进制文件
/etc/fstab系统启动过程自动挂载的文件系统
mount -o remount,rw /dev/sda5 不用卸载就能重新挂载原本的位置
umount DEVICE
umount MOUNT_POINT 要是正在占用的时候是不会卸载的,退出来就可以卸载了
/etc/fstab文件格式
6个字段:
1、要挂载的设备:/dev/sda5,LABLE=mydate,UUID=""
2、挂载点:
3、文件系统:
4、挂载选项:如果有多个选项,选项间使用逗号隔开,eg:defaults,acl
5、转储频率(备份):0(不做任何备份),1(每天都备份),3(每个一天备份)
6、文件系统的自检次序:0(不自检),1(只用root),2,3,...9
写入/etc/fstab文件的文件,可以使用如下命令自动挂载
mount -a
mount /dev/sda5
fuser -v /mydata 查看当前登录的用户
fuser -km /mydata 踢出用户
虚拟内存
在磁盘上的一片空间
大小:
物理内存 虚拟内存
<2G 2x
2G~4G 1.5x
>4G 4G
/proc/partitions 内核中显示的分区,如果没有,使用partprobe +磁盘名字 重新读取一下分区表,不需要重启
mkswap 专门用于创建交换分区的
swapon device 打开交换分区
swapoff device 关闭交换分区
也可以写入/etc/fstab,注意其中的格式
dd创建本地回环设备(磁盘上没有分区可用,但是可以用文件来创建交换分区)
dd if=/etc/fstab of=/tmp/fstab 把/etc/fstab复制到/tmp/fstab
dd if=/dev/zero of=/path/to/file bs=1M count=2 产生一个2M的文件
mkswap /path/to/file
swapon /path/to/file 另类创建交换分区的方法
mount -t iso9660 挂载光盘
echo 'n
+10G
w’ | fdisk /dev/sda &>/dev/null
自动创建磁盘分区,可用于脚本中