今天,我们介绍在linux系统中如何查看系统的存储设备,如何划分自己的设备,磁盘的格式化以及lvm。
1.本地存储设备的识别
fdisk -l ##真实存在的设备
cat /proc/partition ##系统可以识别的设备
blkid ##系统可使用的设备
df ##系统正在挂载的设备
2.设备的挂载和卸载
1)设备名称
/dev/xdx ##/dev/hd0 /dev/hd1 /dev/sda /dev/sdb
/dev/sr0 ##光驱
/dev/mapper/* ##虚拟设备
2).设备的挂载
mount 设备 挂载点
mount /dev/sdb1 /mnt ##挂载sdb1到mnt
umount /mnt| /dev/sdb1 ##卸载
mount -o ro /dev/sdb1 /mnt ##只读挂载
mount ##查看挂载信息
mount -o remount,rw /dev/sdb1 | /mnt ##重新读写挂载
3).解决挂载设备正忙情况
设备忙是挂在的东西正在被占用,必须结束占用才可以卸载。
例如:
umount /mnt/
umount: /mnt:target is busy. ##有程序在使用此设备
(In some cases useful info about processes that
the device is found by lsof(8) or fuser(1))
方法1
fuser -vm /mnt ##查看 /mnt谁在用
fuser -kvm /mnt ##查看并结束
umount /mnt
方法2
lsof /mnt
kill -9
umount /mnt
3.电脑开机时,磁盘的读取过程
电脑开机的时候,首先会进行磁盘的
post (上电自检),
然后读取磁盘的
0磁道1扇区 ,一共有512字节,这扇区分为三个部分:
1.mbr 主引导记录 446字节 ##记录系统的引导过程,如果不存在无法启动,需要使用镜像重新安装
2.mpt 主分区表 64字节 ##记录的是系统的磁盘分区信息,每一个主分区占16字节,所以最多只能有四个主分区
3.55aa 硬盘的有效性标示 2字节
4.磁盘的分区
1)分区过程
步骤一:fdisk -l,查看磁盘的信息。
[root@server ~]# fdisk -l ##列出硬盘信息,vda磁盘已经分完,vdb没有划分
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00013f3e
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 20970332 10484142+ 83 Linux ##boot 加*代表启动项,在这个磁盘里面
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
步骤二:disk /dev/vdb,划分磁盘
[root@server ~]# fdisk /dev/vdb ##划分vdb磁盘
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x3d304d58.
Command (m for help): m ##m为帮助项目,查看帮助命令
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition ##删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu ##帮助命令
n add a new partition ##添加一个分区
o create a new empty DOS partition table
p print the partition table ##打印分区列表
q quit without saving changes ##退出不保存
s create a new empty Sun disklabel
t change a partition's system id ##修改分区的系统id号
u change display/entry units
v verify the partition table
w write table to disk and exit ##保存分区
x extra functionality (experts only)
Command (m for help): n ##新建一个分区
Partition type:
p primary (0 primary, 0 extended, 4 free) ##p为主分区
e extended ##e为扩展分区
Select (default p): ##默认为p
Using default response p
Partition number (1-4, default 1): ##分区号,默认为1
First sector (2048-20971519, default 2048): ##起始扇区,使用默认
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M
##给他500M的默认分区
Partition 1 of type Linux and of size 500 MiB is set
Command (m for help): n ##建立第二个分区
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
Partition number (2-4, default 2):
First sector (1026048-20971519, default 1026048):
Using default value 1026048
Last sector, +sectors or +size{K,M,G} (1026048-20971519, default 20971519): +500M
Partition 2 of type Linux and of size 500 MiB is set
Command (m for help): n ##建立第三个主分区
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p):
Using default response p
Partition number (3,4, default 3):
First sector (2050048-20971519, default 2050048):
Using default value 2050048
Last sector, +sectors or +size{K,M,G} (2050048-20971519, default 20971519): +500M
Partition 3 of type Linux and of size 500 MiB is set
Command (m for help): n ##建立第四个分区,这里应该是扩展分区
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): ##默认为e,扩展分区
Using default response e
Selected partition 4
First sector (3074048-20971519, default 3074048): ##使用默认值
Using default value 3074048
Last sector, +sectors or +size{K,M,G} (3074048-20971519, default 20971519):
##结束扇形区域,默认使用剩余的全部
Using default value 20971519
Partition 4 of type Extended and of size 8.5 GiB is set
Command (m for help): p ##列出分区信息
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x3d304d58
Device Boot Start End Blocks Id System
/dev/vdb1 2048 1026047 512000 83 Linux
/dev/vdb2 1026048 2050047 512000 83 Linux
/dev/vdb3 2050048 3074047 512000 83 Linux
/dev/vdb4 3074048 20971519 8948736 5 Extended
ommand (m for help): wq ##保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
5.给设备铺设文件系统
不同的文件系统有不同的系统文件格式。格式化在现在大多数人的眼中是将磁盘,硬盘等设备清空。其实,格式化真正的意思是为磁盘重新铺设文件系统,不铺设文件系统的磁盘是无法使用的。但是在铺设文件系统的时候会清除掉以前的内容。
1)文件系统的介绍
一,NTFS (New Technology File System),是 Windows NT 环境的文件系统。新技术文件系统是Windows NT家族(如,Windows 2000、Windows XP、Windows Vista、Windows 7和 windows 8.1)等的限制级专用的文件系统(操作系统所在的盘符的文件系统必须格式化为NTFS的文件系统,4096簇环境下)。
二,EXT是延伸文件系统(英语:Extended file system,缩写为 ext或 ext1),也译为扩展文件系统,一种文件系统,于1992年4月发表,是为linux核心所做的第一个文件系统。采用Unix文件系统(UFS)的元数据结构,以克服MINIX文件系统性能不佳的问题。
三,XFS一种高性能的日志文件系统,最早于1993年,由Silicon Graphics为他们的IRIX操作系统而开发,是IRIX 5.3版的默认文件系统。2000年5月,Silicon Graphics以GNU通用公共许可证发布这套系统的源代码,之后被移植到Linux 内核上。XFS 特别擅长处理大文件,同时提供平滑的数据传输。
本文重点讲解xfs文件系统的使用
2)磁盘的文件系统的铺设
在上面进行完磁盘分区后,磁盘还是不能使用的,可以使用blkid命令查看系统可以使用的设备,其中并没有上面的新的分区。
这是因为,新的分区并没有文件系统,需要铺设文件系统,这里我们使用xfs文件系统。
mkfs.xfs /dev/vdb1 ##将/dev/vdb1铺设为xfs文件系统
磁盘变成可使用
磁盘可以挂载
6.磁盘的自动挂载
挂载后的磁盘,每次重启以后都会自动卸载。这样有时会显的特别麻烦。如何开机以后让磁盘自动挂载。使用fstab ##开机启动的项目
man 5 fstab 查看fstab的帮助
编辑fstab:vim /etc/fstab
编写
/dev/vdb1 /mnt xfs defaults 0 0
设备名称 挂载的地方 文件系统 挂载参数参数为默认 不备份 不检查
保存退出
reboot重启后,查看挂载情况
7.swap分区管理
swap分区,是用来保存内存中的内容,一般为内存的两倍
1)swap分区的建立
步骤一:在磁盘中建立一个分区
步骤二:设定分区标签为82
====================================================================================
这里先做一些说明,当磁盘划分,修改完成后,保存退出时,会出现的警告
这是因为vdb的这个磁盘已经挂载上,此时新划分的磁盘是不会被识别的。
使用命令
partprobe
就可以识别。
步骤三:swap分区的挂载和状态的查看
mkswap /dev/vdb5 ##建立文件系统,文件系统为swap格式的
swapon -a /dev/vdb5
swapon -s
步骤四:swap分区的自动挂载
编辑文件:vim /etc/fstab
/dev/vdb5 swap swap defaults 0 0
设备名称 挂载的地方 文件系统 挂载参数参数为默认 不备份 不检查
2)swap分区的卸载和删除
7.配额
对于一个磁盘来说,root用户可以指定每个用户使用多大的空间,叫做配额。下面我来介绍以下配额
1)挂载目录的权限
步骤一:首先我们新建一个一个目录,用来放置挂载设备,修改权限为777。
步骤二:挂载一个设备到这个目录上,再看目录的权限
结果,目录的权限变为755。实验结果表明,挂载目录的权限为挂载设备的权限
2)配额
步骤一:新建分区,格式化
步骤二:以设定用户上传上限的方式挂载
mount -o usrquota /dev/vdb7 /public
步骤三:设置挂载目录权限为777,使得普通用户可以上传
chmod 777 /publicbs
步骤四:设置用户上传上限,和开机自动挂载上传上限
edquota -u student
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb7 0 0 20000 0 0 0
修改这一项
测试:
切换到普通用户su - student
dd if=/dev/zero of=/public/studentfile bs=1M count=50
8.磁盘加密
对磁盘进行加密,加密的锁在磁盘和文件系统之间,如果强行破坏锁,就会破坏文件系统,使得磁盘中的东西无法读取。
磁盘加密的方法:
步骤一:新建分区
步骤二:加密格式化,并设定密码
cryptsetup luksFormat /dev/vdb
步骤三:加密打开,设定打开的名字
cryptsetup open /dev/vdb8 westos
步骤四:查看加密后设备
ll /dev/mapper/westos
步骤五:铺设文件系统
mkfs.xfs /dev/mapper/westos
步骤六:设备的挂载,文件建立,设备的卸载
步骤七:加密关闭,外界无法使用磁盘
cryptsetup close westos