创建文件系统的含义:就是格式化一个硬盘分区,不同的格式化方式,就是创建了不同的文件系统。
格式化:
低级格式化:划分分区前执行,主要是划分硬盘的磁道等。
高级格式化:划分分区后执行,创建文件系统
创建文件系统时做的目的:当我们在硬盘上创建文件后,以后可以用文件的名字还能找到这个文件。
文件包含2部分:
元数据(包括:权限,属主/组,时间戳,大小,数据块指针等)
数据块指针:指向文件内容在数据区的位置(根据文件内容的大小,位置会有多个)
数据本身的内容。
创建文件系统时,把整个分区划分成2个区域,一大一小。
小的区域放每个文件的元数据,叫元数据区(也叫:inode table)
每个文件的元数据,叫 inode(index node)
大的区域放文件本身的内容,叫数据区
数据区需要再次划分成一堆block,block的大小一般是扇区的倍数。一个扇区是512bytes。
元数据区和数据区图例:
元数据区和数据区的大小比例怎么决定呢?
如果文件的size小,而且文件数量多,则会发生元数据区已经满了,但是数据区还有很多空余。
如果文件的size大,而且文件数量少,则会发生数据区已经满了,但是元数据区还有很多空余。
一般文件:它的元数据里的数据块指针区域,存放的是数据区的地址。占用分区的数据区域的存储空间。
符号链接文件:它的元数据里的数据块指针区域,存放不是是数据区的地址,而是实际文件的路径。所以它不占用分区的数据区域的存储空间。它只占用元数据区域的存储空间。
设备文件:它的元数据里的数据块指针区域,存放不是是数据区的地址,而是主设备号和次设备号。所以它不占用分区的数据区域的存储空间。它只占用元数据区域的存储空间。
查看文件的inode编号。
- 使用
ls -i files
,或者stat files
操作系统,如何知道哪些inode别使用了,哪些block被使用了?
搜索整个数据区域,肯定能知道block的使用情况,
搜索整个元数据区域,肯定能知道inode的使用情况,可是性能太低下了。
所以,在元数据区域找块空间,存放2个东西,叫位图索引(bitmap)。
一个是inode的位图索引(inode bitmap)。
一个是block的位图索引(block bitmap)。
位图索引的每个bit位对应一个inode/block,0代表此inode/block未被使用,1代表此inode/block已被使用。
搜索位图索引,速度就快多了。
super block
若一个分区里只有一个元数据区,一个数据区的话,即便有位图索引,索引也是太多了,遍历一遍也很费时间,所以实际的文件系统,都是有多个元数据区和数据区,如下图,每个元数据区和数据区组成一个独立的逻辑分区,独立自治,每个逻辑分区里,再建立位图索引。有了逻辑分区的话,还需要一个中央政府,去管理这些逻辑分区,这个中央政府叫【super block】。
super block:记录着逻辑分区的信息。
如果super block损坏了的话,那整个分区就废了,所以super block就必须做冗余处理,所以把super block放到了多个逻辑分区的数据区里。如下图:
inode里没有存放文件的名字,名字放哪里了呢?放目录里了。目录也是文件,可不是windows里的文件夹。
目录的block里放的是:目录里的文件和文件所对应的inode编号。
下图表示了:元数据区,和数据区,和如何找到文件/var/log/messages的
找到硬盘上的文件后,就放到内存的【buff/cache】中,下次用户再访问此文件就能快速的从内存中读取到。
用free命令查看内存情况:
# free -h total used free shared buff/cache available mem: 3.7g 336m 3.0g 13m 429m 3.1g swap: 3.9g 0b 3.9g
硬链接和符号链接的区别
操作系统能根据文件路劲,找到它对应的inode编号。
硬链接:
- 创建硬链接命令:
ln src link_file
- 多个硬链接文件,所对应的inode编号相同
- 硬链接不能跨文件系统,因为每个文件系统的inode计数方式不同。
- 创建硬链接会增加inode的引用计数,同样删除硬链接会减少inode的引用技术,当inode的引用计数变成零时,是否数据区对应的空间。
- 目录不支持硬链接,防止循环引用。
- 创建硬链接命令:
符号链接:
创建符号链接命令:
ln -s src link_file
符号链接文件,有自己独立的inode。
可以跨文件系统
创建或删除符号链接,不影响inode的引用计数
符号链接可以指向目录
符号链接的size是其指定的文件的路径字符串的字节数
$ ls -l lrwxrwxrwx. 1 ys ys 14 dec 27 13:25 sl1 -> 符号链接11 -rw-rw-r--. 1 ys ys 0 dec 27 13:24 符号链接11
linux支持大部分的文件系统,哪个文件系统最好呢?没有最好只有更好。
不同的文件系统,适应不同的使用场景。
不同的文件系统,对分区的划分方法都不一样。对应读写文件的程序来说,就太难了,不可能针对每种文件系统,写不同的代码。那么,linux是如何解决这个问题的呢?使用vfs。
vfs:virtual file system虚拟文件系统。
文件读写程序,只跟vfs打交道,然后vfs和各个文件系统打交道。
vfs给程序员统一的,简洁的api接口。
linux支持哪些文件系统:
- ext2,ext3,ext4:基本被淘汰了。单个文件的大小有限制
- xfs:红帽7开始好像使用xfs了。centos7好像使用此文件系统。特点:单个文件的大小没有限制
- relserfs:能相对容易找回误删除的文件,但是作者入狱了,所以不是主流了。
- btrfs:特点:单个文件的大小没有限制。性能好,但还是处于测试阶段。
- iso9660:光盘(包括dvd和vcd)的文件系统
- nfs,cifs:网络文件系统
- gfs2,ocfs2:集群文件系统
- ceph:内核级分布式文件系统
- vfat(fat32),ntfs:windows的文件系统
- proc, sysfs, tmpfs, hugepagefs:伪文件系统
- ufs(unix文件系统),ffs(fast文件系统),jfs(日志文件系统):unix下的文件系统。
- swap:交换文件系统
- mogilefs,moosefs,glusterfs:用户空间的分布式文件系统。
文件系统里的日志功能
由一个问题引出了文件系统里的日志功能。
当往硬盘里写入的时候,先去找一个空闲的inode,写入元数据信息,但是size在数据全部写入完前,是不知道的,在写入数据区的途中,突然断电了,数据写了一部分;再次开机的时候,操作系统为了检查出坏数据,
就要扫描硬盘的inode区和数据区,找出坏的block,这样一来开机的就太慢了。如何解决呢?日志功能(journal)登场了!
日志功能:
日志功能的缺点:
- 由于要从把日志区域的数据,剪切到元数据区域,增加了一次io。
linux里常用的文件系统:ext2,ext3,ext4, xfs, relserfs, btrfs
只有ext2是无日志功能的。
文件系统组成部分
文件系统驱动程序:由内核空间提供。
文件系统的驱动程序,可以选择直接编译到内核空间;也可以选择作为一个module,安装到内核空间。
使用
lsmod
命令可以看到,内核安装了哪些文件系统的驱动程序module。# lsmod module size used by fuse 91880 3 xt_checksum 12549 1 iptable_mangle 12695 1 xfs 997127 3
如果发现想要的文件系统的驱动程序module没有在里面,也有可能是直接编译到内核空间了。
直接编译到内核空间的文件系统的驱动程序,不在
lsmod
结果里。文件系统管理工具:由用户空间的应用程序提供
文件系统工具
1, 创建文件系统的工具
mkfs:mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat等
可以用选项:
-t
指定安装说明文件系统。例:mkfs -t ext4
=mkfs.ext4
ext4兼容ext3,ext3兼容ext2.
下面是创建ext2文件系统:
# fdisk -l /dev/sdb disk /dev/sdb: 1073 mb, 1073741824 bytes, 2097152 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: 0x2594e4e1 device boot start end blocks id system /dev/sdb1 2048 411647 204800 83 linux /dev/sdb2 411648 616447 102400 5 extended /dev/sdb5 413696 516095 51200 83 linux # mkfs.ext2 /dev/sdb1 #在/dev/sdb1里,安装文件系统ext2 mke2fs 1.42.9 (28-dec-2013) filesystem label=识别设备的卷标 os type: linux block size=1024 (log=0)块的大小,没有指定大小,默认是1k fragment size=1024 (log=0) stride=0 blocks, stripe width=0 blocks 51200 inodes(创建了51200个inode), 204800 blocks(创建了204800个blocks) 10240 blocks (5.00%) reserved for the super user(给管理员预留了5%的空间) first data block=1(第一个数据在编号为1的block) maximum filesystem blocks=67371008 25 block groups(把block分成了25个组) 8192 blocks per group(每个组有8192个block), 8192 fragments per group 2048 inodes per group(每个组有2048个block) superblock backups stored on blocks:(super block存放在块编号为下面的块) 8193, 24577, 40961, 57345, 73729 allocating group tables: done writing inode tables: done writing superblocks and filesystem accounting information: done # blkid /dev/sdb1 查看/dev/sdb1的文件系统和uuid /dev/sdb1: uuid="4752177b-e026-483d-b166-19229b64e4c3" type="ext2"
下面是创建ext3文件系统:和ext2相比,多了下面的存放日志的空间。
creating journal (4096 blocks): done
# mkfs.ext3 /dev/sdb5 mke2fs 1.42.9 (28-dec-2013) filesystem label= os type: linux block size=1024 (log=0) fragment size=1024 (log=0) stride=0 blocks, stripe width=0 blocks 12824 inodes, 51200 blocks 2560 blocks (5.00%) reserved for the super user first data block=1 maximum filesystem blocks=52428800 7 block groups 8192 blocks per group, 8192 fragments per group 1832 inodes per group superblock backups stored on blocks: 8193, 24577, 40961 allocating group tables: done writing inode tables: done creating journal (4096 blocks): done writing superblocks and filesystem accounting information: done # blkid /dev/sdb5 /dev/sdb5: uuid="8f066109-6fcf-4c40-812a-66909b54469e" sec_type="ext2" type="ext3"
创建xfs文件系统:
centos5和6里没有xfs,需要安装。安装命令:
yum install xfsprogs
# mkfs.xfs -f /dev/sdb5 meta-data=/dev/sdb5 isize=512 agcount=2, agsize=6400 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=12800, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=855, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]# blkid /dev/sdb5 /dev/sdb5: uuid="d73b8a2c-147d-4322-80a4-812553696c26" type="xfs"
yum小知识:查看用yum安装的包里都包含哪些东西:
# rpm -ql xfsprogs /usr/lib64/libhandle.so.1 /usr/lib64/libhandle.so.1.0.3 /usr/sbin/fsck.xfs /usr/sbin/mkfs.xfs /usr/sbin/xfs_admin /usr/sbin/xfs_bmap /usr/sbin/xfs_copy /usr/sbin/xfs_db /usr/sbin/xfs_estimate /usr/sbin/xfs_freeze /usr/sbin/xfs_fsr /usr/sbin/xfs_growfs /usr/sbin/xfs_info /usr/sbin/xfs_io /usr/sbin/xfs_logprint /usr/sbin/xfs_mdrestore /usr/sbin/xfs_metadump /usr/sbin/xfs_mkfile /usr/sbin/xfs_ncheck /usr/sbin/xfs_quota /usr/sbin/xfs_repair /usr/sbin/xfs_rtcp ...后面省略
ext文件系统专用管理程序:mke2fs
语法:
mke2fs [options] device
指定文件系统:-t
mke2fs -t {ext2|ext3|ext4}
指定blocksize:-b {1024|2048|4096}
# mke2fs -t ext4 -b 2048 /dev/sdb5 mke2fs 1.42.9 (28-dec-2013) filesystem label= os type: linux block size=2048 (log=1) fragment size=2048 (log=1)
指定卷标(filesystem label):-l
一般不指定卷标,因为容易重复。
指定卷标后,用blkid命令就能看到卷标了。
# mke2fs -t ext4 -l mylabel1 /dev/sdb5 mke2fs 1.42.9 (28-dec-2013) filesystem label=mylabel1 # blkid /dev/sdb5 /dev/sdb5: label="mylabel1" uuid="3bd32005-bea7-42bb-969e-3b37de466f3e" type="ext4"
卷标虽然重复了,但是uuid是不一样的。
# mke2fs -t ext4 -l mylabel1 /dev/sdb6 mke2fs 1.42.9 (28-dec-2013) filesystem label=mylabel1 # blkid /dev/sdb5 /dev/sdb5: label="mylabel1" uuid="3bd32005-bea7-42bb-969e-3b37de466f3e" type="ext4" [root@localhost ~]# blkid /dev/sdb6 /dev/sdb6: label="mylabel1" uuid="7e71e3a9-5075-4b07-97fc-af7eefae27fc" type="ext4"
更改ext2,ext3,ext4的卷标:
e2label
- 查看分区的卷标:
e2label device
- 修改分区的卷标:
e2label device label
- 查看分区的卷标:
创建有日志功能的文件系统:-j
mke2fs -j
=mke2fs -t ext3
=mkfs -t ext3
=mkfs.ext3
每多少个字节创建一个inode:-i
指明inode与字节的比率。
指定inode的数量:-n 数字
和用-i指定比率相比,直接指定inode的数量可能更好。
指定inode的size:-i(大i)
the inode-size value must be a power of 2 larger or equal to 128.
enable文件系统某个特性:
-o feature
或者disable文件系统某个特性:
-o -feature
后者-o ^feature
feature一览:用
man 5 ext4
查看mke2fs -o has_journal device:启动日志功能
指定预留空间(super block)的大小的百分比:-m 数字(不需要加%,2就是2%)
默认是预留5%,但是如果是100g的分区,5g就太大了。
2,检测及修复文件系统的工具
因进程意外终止或系统崩溃(断电)的原因,导致系统非正常终止时,可能会造成文件损坏;此时,应该检查并修复文件系统。建议:离线进行
ext文件系统系列:e2fsck
- -y:对所有问题自动回答yes
- -f:即使文件系统处于clean状态,也要强制进程检查。
# e2fsck -f /dev/sdb6 e2fsck 1.42.9 (28-dec-2013) pass 1: checking inodes, blocks, and sizes pass 2: checking directory structure pass 3: checking directory connectivity pass 4: checking reference counts pass 5: checking group summary information l1: 11/6400 files (0.0% non-contiguous), 2155/25600 blocks
所有文件系统:fsck
# fsck. fsck.btrfs fsck.ext2 fsck.ext4 fsck.minix fsck.vfat fsck.cramfs fsck.ext3 fsck.fat fsck.msdos fsck.xfs
-t:指明文件系统类型
-a:无须交互自动修复所有错误(不建议使用)
若有个2g的文件,写入了1.9g后,系统断电。如果不修复还能保持1.9g,如果用-a修复,则把这1.9g也删除了。
-r:交互式修复
3,查看ext系列文件系统的属性和组的详细信息的工具:dumpe2fs
只查看属性:
-h
# dumpe2fs -h /dev/sdb6 dumpe2fs 1.42.9 (28-dec-2013) filesystem volume name: l1 last mounted on: <not available> filesystem uuid: c48a5e5a-2ebf-42e6-a191-87496b19e281 filesystem magic number: 0xef53 filesystem revision #: 1 (dynamic) filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super filesystem flags: signed_directory_hash default mount options: user_xattr acl filesystem state: clean errors behavior: continue filesystem os type: linux inode count: 6400 block count: 25600 reserved block count: 1536 free blocks: 23445 free inodes: 6389 first block: 1 block size: 1024 fragment size: 1024 reserved gdt blocks: 99 blocks per group: 8192 fragments per group: 8192 inodes per group: 1600 inode blocks per group: 200 filesystem created: fri dec 27 21:24:40 2019 last mount time: n/a last write time: fri dec 27 22:19:54 2019 mount count: 0 maximum mount count: -1 last checked: fri dec 27 21:24:40 2019 check interval: 0 (<none>) reserved blocks uid: 0 (user root) reserved blocks gid: 0 (group root) first inode: 11 inode size: 128 journal inode: 8 default directory hash: half_md4 directory hash seed: ea467d23-e9b0-43ca-b762-f6b70ea21180 journal backup: inode blocks journal features: (none) journal size: 1029k journal length: 1024 journal sequence: 0x00000001 journal start: 0
组的详细信息:不加选项
组的详细信息包括:
- super block存储在哪个块
- reserved gdt blocks存储在哪些块
- inode的位图索引(inode bitmap)存储在哪些块
- block的位图索引(block bitmap)存储在哪些块
- 组里的哪些块是存储元数据(inode table)的
- 多少个block是可以使用的;多少个inode是可以使用的;组里有几个目录。
- 可以使用的block的编号是多少;可以使用的inode的编号是多少。
# dumpe2fs /dev/sdb6 此处省略了head的信息。 group 0: (blocks 1-8192) primary superblock at 1, group descriptors at 2-2 reserved gdt blocks at 3-101 block bitmap at 102 (+101), inode bitmap at 103 (+102) inode table at 104-303 (+103) 7875 free blocks, 1589 free inodes, 2 directories free blocks: 318-8192 free inodes: 12-1600 group 1: (blocks 8193-16384) backup superblock at 8193, group descriptors at 8194-8194 reserved gdt blocks at 8195-8293 block bitmap at 8294 (+101), inode bitmap at 8295 (+102) inode table at 8296-8495 (+103) 7889 free blocks, 1600 free inodes, 0 directories free blocks: 8496-16384 free inodes: 1601-3200 group 2: (blocks 16385-24576) block bitmap at 16385 (+0), inode bitmap at 16386 (+1) inode table at 16387-16586 (+2) 6961 free blocks, 1600 free inodes, 0 directories free blocks: 17616-24576 free inodes: 3201-4800 group 3: (blocks 24577-25599) backup superblock at 24577, group descriptors at 24578-24578 reserved gdt blocks at 24579-24677 block bitmap at 24678 (+101), inode bitmap at 24679 (+102) inode table at 24680-24879 (+103) 720 free blocks, 1600 free inodes, 0 directories free blocks: 24880-25599 free inodes: 4801-6400
4,调整ext系列文件系统的特性:tune2fs
查看/调整ext2/ext3/ext4文件系统的可调整属性,不是所有属性,比如block的大小就不能调整。
查看super block里的信息/查看文件系统的layout信息:
-l
# tune2fs -l /dev/sdb5 tune2fs 1.42.9 (28-dec-2013) filesystem volume name: mylabel1(卷标) last mounted on: <not available>(上次挂载,目前还没有挂载过) filesystem uuid: 3bd32005-bea7-42bb-969e-3b37de466f3e(uuid) filesystem magic number: 0xef53(魔数,标识文件系统的) filesystem revision #: 1 (dynamic) filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize(文件系统启用了哪些feature) filesystem flags: signed_directory_hash default mount options: user_xattr acl(文件系统的挂载选项) filesystem state: clean(文件系统状态。clean:文件系统一致,没有损坏的文件。如果有损坏的文件就是dirty状态。) errors behavior: continue(错误时的处理,continue就是不管错误,继续处理) filesystem os type: linux inode count: 12824(inode的数量) block count: 51200(block的数量) reserved block count: 2560(预留给super block的数量) free blocks: 44440(空闲的block数量) free inodes: 12813(空闲的inode数量) first block: 1(第一个块的编号) block size: 1024(块的大小,单位是byte) fragment size: 1024 group descriptor size: 64 reserved gdt blocks: 256(预留给gdt的block数量) blocks per group: 8192(每组里block的数量) fragments per group: 8192 inodes per group: 1832(每组里inode的数量) inode blocks per group: 229(每组有多少个块,存放inode) flex block group size: 16 filesystem created: fri dec 27 16:48:53 2019 last mount time: n/a last write time: fri dec 27 16:48:53 2019 mount count: 0 maximum mount count: -1 last checked: fri dec 27 16:48:53 2019 check interval: 0 (<none>) lifetime writes: 4445 kb reserved blocks uid: 0 (user root) reserved blocks gid: 0 (group root) first inode: 11 inode size: 128(inode的大小) journal inode: 8 default directory hash: half_md4 directory hash seed: 05ca7d6b-d6b6-4e15-854f-e9d49f0f3f61 journal backup: inode blocks
把ext2升级到ext3:-j
无损升级,不会损坏文件系统里的文件
# blkid /dev/sdb6 /dev/sdb6: uuid="c48a5e5a-2ebf-42e6-a191-87496b19e281" type="ext2" # tune2fs -j /dev/sdb6 tune2fs 1.42.9 (28-dec-2013) creating journal inode: done # blkid /dev/sdb6 /dev/sdb6: uuid="c48a5e5a-2ebf-42e6-a191-87496b19e281" sec_type="ext2" type="ext3"
无损修改卷标:-l label
# tune2fs -l l1 /dev/sdb6 tune2fs 1.42.9 (28-dec-2013) [root@localhost ~]# blkid /dev/sdb6 /dev/sdb6: label="l1" uuid="c48a5e5a-2ebf-42e6-a191-87496b19e281" sec_type="ext2" type="ext3"
无损修改给super block预留的空间的百分比:-m 数字
# tune2fs -m 6 /dev/sdb6 tune2fs 1.42.9 (28-dec-2013) setting reserved blocks percentage to 6% (1536 blocks)
enable文件系统某个特性:
-o feature
或者disable文件系统某个特性:
-o -feature
后者-o ^feature
disable日志功能后,文件系统类型从原来的ext3变成了ext2;enable后又从ext2变成了ext3
feature一览:用
man 5 ext4
查看# tune2fs -o ^has_journal /dev/sdb6 tune2fs 1.42.9 (28-dec-2013) # blkid /dev/sdb6 disable日志功能后,文件系统类型从ext3变成了ext2 /dev/sdb6: label="l1" uuid="c48a5e5a-2ebf-42e6-a191-87496b19e281" type="ext2" # tune2fs -l /dev/sdb6 feature里没有了has_journal filesystem features: ext_attr resize_inode dir_index filetype sparse_super # tune2fs -o has_journal /dev/sdb6 tune2fs 1.42.9 (28-dec-2013) creating journal inode: done # blkid /dev/sdb6 /dev/sdb6: label="l1" uuid="c48a5e5a-2ebf-42e6-a191-87496b19e281" sec_type="ext2" type="ext3" # tune2fs -l /dev/sdb6 filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super
enable文件系统的挂载选项:
-o mount_options
或者disable文件系统的挂载选项:
-o -mount_options
后者-o ^mount_options
具体的mount options可以在man tune2fs的-o选项出查看到。
例如,disable acl(access control list,文件的特殊权限控制功能)。
在centos7创建文件系统时,acl是默认启动的。
只有在文件系统这里,启用了acl功能,getfacl,setfacl命令才有作用。
5,根据卷标(label),uuid来定位设备:blkid
查看设备的卷标和uuid
# blkid /dev/sdb6 /dev/sdb6: label="l1" uuid="c48a5e5a-2ebf-42e6-a191-87496b19e281" sec_type="ext2" type="ext3"
根据卷标定位设备:-l
# blkid /dev/sdb6 /dev/sdb6: label="l1" uuid="c48a5e5a-2ebf-42e6-a191-87496b19e281" sec_type="ext2" type="ext3" # blkid -l l1 /dev/sdb6
根据uuid定位设备:-u
# blkid /dev/sdb6 /dev/sdb6: label="l1" uuid="c48a5e5a-2ebf-42e6-a191-87496b19e281" sec_type="ext2" # blkid -u c48a5e5a-2ebf-42e6-a191-87496b19e281 /dev/sdb6
swap文件系统
linux上的swap文件系统必须在独立的分区,且system id必须是82
window上的swap文件系统,可以和操作系统在一个分区,比如都在c盘。
1,创建swap文件系统:mkswap
不指定卷标和uuid。若原来的/dev/sdb6上有卷标和uuid,执行mkswap /dev/sdb6后,/dev/sdb6的卷标和uuid都被删除,且生成一个新的uuid。
# mkswap /dev/sdb6 mkswap: /dev/sdb6: warning: wiping old ext3 signature. setting up swapspace version 1, size = 25596 kib no label, uuid=c9f3ecb5-d82e-461a-9701-23a364792800
注意:若/dev/sdb6原来的system id不是82,则执行mkswap /dev/sdb6后,system id是不会自动变成82的,还需要手动用
fdisk
的-t
选项,修改system id。指定卷标:-l label
# blkid -l l1 [root@localhost ~]# mkswap -l l1 /dev/sdb6 mkswap: /dev/sdb6: warning: wiping old swap signature. setting up swapspace version 1, size = 25596 kib label=l1, uuid=3e848623-b82a-4a4f-9c58-53b868260208 [root@localhost ~]# blkid -l l1 /dev/sdb6 [root@localhost ~]# blkid /dev/sdb6 /dev/sdb6: label="l1" uuid="3e848623-b82a-4a4f-9c58-53b868260208" type="swap"
指定uuid:-u uuid
vfat文件系统
windows无法识别linux的文件系统,因此,存储设备需要两种系统之间交叉使用时,应该使用windows和linux都支持的文件系统:fat32(vfat)。
创建vfat文件系统:mkfs.vfat device
# mkfs.vfat /dev/sdb5 mkfs.fat 3.0.20 (12 jun 2013)
c/c++ 学习互助qq群:877684253
本人微信:xiaoshitou5854
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论