Chinaunix首页 | 论坛 | 博客
  • 博客访问: 141603
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 770
  • 用 户 组: 普通用户
  • 注册时间: 2017-11-04 11:19
文章分类

全部博文(70)

文章存档

2018年(69)

2016年(1)

我的朋友

分类: LINUX

2018-06-18 21:25:41

4.5 磁盘格式化上
上一张对磁盘进行了分区,但是还是没法使用,因为还没有进行格式化。比如在win系统上我们知道的有NTFS格式,fat格式(已经过时了)。那么linux上支持什么格式呢:
[root@localhost ~]# cat /etc/filesystems             //系统上支持的所有格式类型
xfs                //centos7默认的格式。centos6默认使用ext4,centos5使用ext3
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*

如何查看分区是什么文件系统类型呢:
[root@localhost ~]# mount
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=99972k,mode=700)
使用mount命令,查看type就可以知道分区类型。只需要关心/dev相关的目录。

当前我的环境中有一个刚创建好的分区:
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux
需要格式化之后才能使用:
[root@localhost ~]# mke2fs             //不支持格式化成xfs。
【mkfs.ext4 = mke2fs -t ext4。这两个的选项是一样的;但是mkfs.xfs和mke2fs差距很大。】
[-b block-size]:指定文件块大小。在什么时候可以或需要将文件块调大:文件系统存的都是比较大的文件,视频啊音乐啊高清图片啊,读写会更快。存的都是小文件,那么文件块可以调小。默认是4k(为4096)
[-t fs-type]:指定格式化成什么类型的文件系统,ext3或ext4。不指定类型默认为ext2
[-m reserved-blocks-percentage]:指定这个分区预留的大小,默认有5%是预留给root的。可以进行修改比如 1,预留百分之一;也可以是小数:0.1,百分之零点一。

对于文件块:
[root@localhost ~]# ll
-rw-r--r--. 1 root root     0 6月   6 23:32 1_heard.txt.bak
[root@localhost ~]# du -sh 1_heard.txt.bak 
0 1_heard.txt.bak
[root@localhost ~]# echo 1 > 1_heard.txt.bak 
[root@localhost ~]# du -sh 1_heard.txt.bak                     // 4k,一个块的大小
4.0K 1_heard.txt.bak
[root@localhost ~]# ls -l 1_heard.txt.bak 
-rw-r--r--. 1 root root 2 6月  18 20:03 1_heard.txt.bak        //2个字节
[root@localhost ~]# du -sb 1_heard.txt.bak                         //通过选项“-b”实现查看字节大小。
2 1_heard.txt.bak

不支持  xfs:但是可以通过这个命令格式出成ext3或ext4
[root@localhost ~]# mke2fs -t xfs /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Your mke2fs.conf file does not define the xfs filesystem type.
Aborting...

[root@localhost ~]# mkfs.ext3 /dev/sdb1
[root@localhost ~]# mke2fs -t ext4 /dev/sdb1

格式化成xfs:
[root@localhost ~]# mkfs.xfs -f /dev/sdb1

格式化成功后,如果不挂载使用df -hT是查看不到的,如果需要查看需要使用:
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="1d32663d-76cb-4f4f-8699-1ef30fc5d63f" TYPE="xfs"

4.6 磁盘格式化下
inode是格式化分区的时候创建的
[root@localhost ~]# mke2fs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks  //inode节点和块个数,大概是1:4的关系。这个比例关系可以修改
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

修改inode节点和块对应的比例关系:
[root@localhost ~]# mke2fs 
[-i bytes-per-inode]:一个块4k,默认一个inode对应4个块,则是16k。想要调小:比如对应2个块,则是8k。则指定为:mke2fs -i 8192 -t ext4 /dev/sdb1

mkfs.xfs没有什么特别的选项,直接使用“-f”选项接分区号,进行格式化。


4.7 磁盘挂载上
磁盘可以不分区,直接格式化:
[root@localhost ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# blkid /dev/sdb        //不管有没有分区,只要格式化,就能挂载
/dev/sdb: UUID="deeaed94-dfed-4972-ad7c-00a6f1f801f9" TYPE="xfs"

挂载命令mount的使用:
mount   分区名/盘符   挂载点:磁盘的入口,就是目录
[root@localhost ~]# mount /dev/sdb /mnt
[root@localhost ~]# mount | tail -1
/dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

卸载磁盘:
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
[root@localhost mnt]# touch a.txt
[root@localhost mnt]# mkdir 234
[root@localhost mnt]# ls
234  a.txt
[root@localhost mnt]# cd
[root@localhost ~]# umount /mnt        //如果本身还在目录中,那么无法卸载。
[root@localhost mnt]# umount /dev/sdb
umount: /mnt:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)

[root@localhost ~]# ls /mnt/                //查看不到之前创建的文件和目录了。

[root@localhost ~]# mount /dev/sdb /mnt    //挂载上之后,就可以看到之前创建的文件和目录了
[root@localhost ~]# ls /mnt/
234  a.txt
[root@localhost ~]# umount /dev/sdb            //这样也可以卸载。
[root@localhost mnt]# umount -l /dev/sdb        //不退出进行卸载,“-l”选项,懒人模式


4.8  磁盘挂载下
mount的挂载选
“-o”:指定选项option,后面跟具体的选项,比如“rw”可读可写。“ro”只读。“remount”重新挂载。
使用man手册查看mount命令帮助:搜索default
       defaults
              Use default options: rw, suid,  dev,  exec,  auto,  nouser,  and  async.
默认挂载的选项。
suid允许这个分区的文件设置suid权限,比如passwd命令是可以设置suid权限的
exec 可执行。如果修改为noexec,那么该分区下面的文件都不可以执行,没有执行权限
auto 自动挂载  noauto:不自动挂载
nouser 是否允许普通用户挂载,默认普通用户无法挂载
async:对应sync(正常来说,写入一个文件是先将内容存在内存中,然后过一会儿会把内存中的内容同步到磁盘中。sync是内存中的数据随时写到磁盘,对磁盘压力较大)不需要内存随时将内容写到磁盘。

mount -o remount,rw /dev/foo /dir        //重新挂载格式。

[root@localhost ~]# vim /etc/fstab        //系统启动,默认挂载哪些分区,全是这个文件配置。
#
# /etc/fstab
# Created by anaconda on Wed May 30 07:01:39 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=66218db3-6aa5-4bf3-b380-b3b88d6c1aa0 /                       xfs     defaults        0 0
UUID=87094a8f-998e-4ba5-9b05-8142676fdcbd /boot                   xfs     defaults        0 0
UUID=6480a682-326c-4dad-8b75-60bcd8b7b754 swap                    swap    defaults        0 0
分析文件内容:
第一列:设别号、UUID
第二列:挂载点
第三列:分区格式
第四列:挂载选项,默认defaults
第五列:是否备份,备份文件系统。现在没啥用了。
第六列:设置优先级。是否检查分区是否有问题。1:级别更高的检查,比如根分区,2:检查

也可以使用man命令查看:
[root@localhost ~]# man fstab

另外的挂载方式:通过UUID
[root@localhost ~]# blkid
/dev/sdb: UUID="deeaed94-dfed-4972-ad7c-00a6f1f801f9" TYPE="xfs" 
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="87094a8f-998e-4ba5-9b05-8142676fdcbd" TYPE="xfs" 
/dev/sda2: UUID="6480a682-326c-4dad-8b75-60bcd8b7b754" TYPE="swap" 
/dev/sda3: UUID="66218db3-6aa5-4bf3-b380-b3b88d6c1aa0" TYPE="xfs" 
[root@localhost ~]# mount UUID="deeaed94-dfed-4972-ad7c-00a6f1f801f9" /mnt
[root@localhost ~]# df -h | tail -1
/dev/sdb         10G   33M   10G    1% /mnt


4.9 手动增加swap空间
[root@localhost ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
dd命令是对磁盘进行操作的,可以进行读写操作。
if:指定从哪里读。/dev/zero是Linux内核中的报零器,源源不断的输出零。
of:指定将上面的零写到哪里,后面是一个文件
bs:指定每个块的大小,这里是1M
count:多少个块。

[root@localhost ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,1.9966 秒,52.5 MB/秒
[root@localhost ~]# du -sh /tmp/newdisk 
100M /tmp/newdisk

[root@localhost ~]# mkswap -f /tmp/newdisk             //格式化成swap
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=88707669-5fd2-45ee-b7b4-8cb344833a97

[root@localhost ~]# free -m            //先查看下本身swap的大小
              total        used        free      shared  buff/cache   available
Mem:            976         121         596           6         258         670
Swap:          2047           0        2047
[root@localhost ~]# swapon /tmp/newdisk                 //将手动创建的swap加入进去。
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。

[root@localhost ~]# free -m                     //虽然上面提示安全问题,但是依旧添加进去了。
              total        used        free      shared  buff/cache   available
Mem:            976         121         596           6         258         670
Swap:          2147           0        2147

[root@localhost ~]# chmod 0600 /tmp/newdisk    //为了安全,也可以修改权限

[root@localhost ~]# swapoff /tmp/newdisk             //卸载添加的swap
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976         121         596           6         258         670
Swap:          2047           0        2047


阅读(1371) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~