Linux磁盘及文件系统管理是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
磁盘基本概念
磁盘 分区 MBR GPT
格式化好的分区都有一个 lost+found 目录
磁盘基本概念
cylinder柱面
sector扇区
head磁头
linux所有设备都被抽象为一个文件,保存在/dev下
一般名称为hda,sda hdb,sdb
IDE设备的名称为hda
sata,scsi,sas,usb等设备的名称为sd[a-z]
不同分区用:设备名称+分区号 方式表示,如sda1、sda2
主流分区机制为MBR和GPT两种
eg.
cd /dev/
ls /dev/sda (+TAB建)
或者ls /dev/sda*
MBR master boot record 传统 (使用BIOS的PC设备)
硬盘不得超过2T
头512KB都被MBR占用
Bootstrap code area446
Partition table (for primary partitions)
partition entry #116
partition entry #216
partition entry #316
partition entry #416
Boot signature
55h3
AAh3
Total512
主分区<=4
一个扩展分区会占用一个主分区位置
逻辑分区<63个IDE分区和15个SCSI分区
GPT
GUID Partition Table
支持>2T
向后兼容MBR
必须在支持UEFI的硬件基础
必须64bit
Mac、Linux系统都能支持GPT分区格式
windows7 64bit,windowsServer2008 64bit 支持GPT
使用fdisk进行磁盘管理_________________________________________________
fdisk是来自IBM的老牌分区软件,几乎所有Linux系统均默认安装
fdisk是一个MBR分区工具,不可用于GPT分区
只有超级用户(root)权限可以执行fdisk
fdisk分区后需要使用partprobe让内核识别新的分区
fdisk -l磁盘分区信息
fdisk /dev/sda 对目标进行分区
p打印(显示)分区表
n创建分区
eextended
partition number(1-4):2
pprimary partition(1-4)
partition number(1-4):1
:+2G
n
llogical(5 or over)
:+2G
p primary partition(1-4)
t修改分区ID
L
83(82.linux swap[虚拟内存])
此时所有信息只保存在内存当前,还没有写进硬盘
此时需要写入MBR分区表里
命令为:W
分区后有时候信息显示有延迟
手动来让内核更新分区表
命令为:partprobe
查看分区信息
fdisk -l
cat /proc/partitions
此时文件系统还没有创建
Linux文件系统_____________________________________________________
没有文件系统的设备为裸(raw)设备
文件系统是操作系统用以管理磁盘或分区上的文件数据使用的,创建文件系统的过程一般称之为格式化
windows下主流的文件系统是:fat32、NTFS,
Linux下主流的文件系统是:ext3、ext4
判断一个文件系统优劣通常通过以下几个方面:
支持最大分区大小
支持最大单个文件大小
支持文件名长度
日志功能
文件存取性能
命令mke2fs用以创建文件系统:
mke2fs -t ext4 /dev/sdb1
-b 指定文件系统块(block)大小(block是文件系统读写操作的最小单位, 默 认是4096)
-c 建立文件系统的时候检查块损坏
-L 指定卷标
-j 建立文件系统日志
命令mkfs可用来快速建立文件系统:(命令简单,没有参数)
mkfs.ext3、mkfs.ext4、mkfs.vfat
mkfs.ext4 /dev/sdb1
命令dumpe2fs可用来查看指定文件系统的信息:
dumpe2fs /dev/sda1
命令e2label用以为指定文件系统添加卷标:
e2label /dev/sda1 LINUXCAST
命令fsck用以检查文件系统错误:
fsck /dev/sda1
日志是文件系统通常都支持的功能,用以提高文件系统的稳定性及可恢复性
Linux文件系统挂载管理___________________________________
文件系统创建好之后需要挂载到系统中方可使用,windows、Mac系统会自动挂载文件系统,而Linux下一般需要手工挂载
命令mount可用来挂载文件系统:
直接敲一个mount可以显示挂载信息
mount 要挂载的设备 挂载点
mount /dev/sdb1 /mnt/ (挂载到任意位置其实都可以)
-t 指定文件系统的类型,如: -t ext3、-t vfat
-o 指定挂载选项:
ro,rw 只读挂载或读写挂载
sync 不使用文件缓存,所有操作直接写入磁盘
async 使用缓存提高文件系统读写效率
noatime 不更新文件访问时间
atime 更新文件访问时间
remount 重新挂载
you must specify the filesysten type?挂载出错
回答:
1.先用vgscan
2.vgchange -ay
3.lvscan
4.mount
到第三步的时候如果正常会显示出两块硬盘的lv状态都是active,此时再
#mount -t ext3 /dev/VGname/LVname /mnt/cdrom
命令umount用以卸载一个挂载的文件系统
umount 挂载源或挂载点
umount /dev/sdb1 | /mnt
可以将挂载配置写入/etc/fstab中以实现自动挂载
命令fuser可查看某文件系统中正在使用的文件
fuser -m /mnt
命令lsof可查看正在被使用的文件
lsof /mnt
自动挂载
修改文件/etc/fstab定义系统启动自动挂载
格式
/dev/sda3/mntext4 defaults00
需要挂载的设备挂载点文件系统 挂载选项dump、fsck相关选项
要挂载的设备也可以使用LABEL进行标识,使用LABEL+LINUXTEST取代/dev/sda3
e2label /dev/sdb1显示卷标
e2label /dev/sdb1 /mm 设置卷标
mount -a 命令会挂载所有fstab中定义的自动挂载项
关于Linux磁盘及文件系统管理是怎么样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/199390.html