三周第五次课(2月9日)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三周第五次课(2月9日)相关的知识,希望对你有一定的参考价值。

4.5/4.6 磁盘格式化
4.7/4.8 磁盘挂载
4.9 手动增加swap空间 


4.5 磁盘格式化(上)


centos7所支持的文件系统:

# cat /etc/filesystems 

xfs centos7默认安装的系统(/ /boot )

ext4 centos6

ext3 centos5

ext2

nodev proc

nodev devpts

iso9660

vfat

hfs

hfsplus

*



建立1号主分区,容量3G

   设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     6293503     3145728   83  Linux


格式化

格式化命令#mke2fs #mkfs

#mke2f -t 文件格式 指定文件系统(xf2,ext3,ext4..)

#mke2f -b 块大小 每块容量是1024的倍数,默认块大小是4096。(如果文件如果是空的、无内容,不会占用一个块的容量。如果文件是)


#mk2fs.ext4===mke2fs -t ext4 两个命令是一样的效果,不过mk2fs不支持xfs文件系统格式化。



格式化 /dev/sdb1 xfs格式

# mkfs.xfs -f /dev/sdb1

meta-data=/dev/sdb1              isize=512    agcount=4, agsize=196608 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0, sparse=0

data     =                       bsize=4096   blocks=786432, 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


想看一个还没挂载的分区 应该使用#blkid查看

# blkid /dev/sdb1

/dev/sdb1: UUID="f069e6df-95db-4f34-a350-ea089e1af5f1" TYPE="xfs" 



4.6 磁盘格式化(下)


指定块容量为8192

#mke2fs -b 8192 /dev/sdb1 (什么情况下使用8kb的块,比如磁盘需要存储比较大的文件:视频、音乐、高清图片,这样读写就会更快。如果小文件,不到4KB的文件,就可以把块文件适当设置小点,)

一般默认2kb即可


#mke2fs -b 2048 /dev/sdb1 

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=2048 (log=1)

分块大小=2048 (log=1)

Stride=0 blocks, Stripe width=0 blocks

196608 inodes, 1572864 blocks

高亮78643 blocks (5.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=538968064

96 block groups

16384 blocks per group, 16384 fragments per group

2048 inodes per group

Superblock backups stored on blocks: 

16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104


Allocating group tables: 完成                            

正在写入inode表: 完成                            

Writing superblocks and filesystem accounting information: 完成 


高亮78643 blocks (5.00%) reserved for the super user

此段意思是:有5%的容量空间是预留给root用户的,如果觉得比例有点大,可以适当调整。


#mke2fs -m 0.1(此单位是百分比,可以根据情况自定义) 

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

786 blocks (0.10%) 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表: 完成                            

Writing superblocks and filesystem accounting information: 完成 


如果无指定文件系统,默认是ext2,一般不会使用ext2,因为太老了。

# blkid /dev/sdb1

/dev/sdb1: UUID="9bd65645-054c-49d9-9eff-468ce06512df" TYPE="ext2" 


指定ext4格式(# mke2fs -t ext4 -m 0.1 /dev/sdb1 与#mkfs.ext4 -m 0.1 /dev/sdb2 效果一样,mke2fs -t ext4 与mkfs.ext4支持的选项是一致的)

# mke2fs -t ext4 -m 0.1 /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

786 blocks (0.10%) 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: 完成



高亮196608 inodes, 786432 blocks 

此处的关系是1:4,4个块对应1个inode。

如果修改为2个块对应一个inode ,如下操作:

#mke2fs -i 8192 -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

高亮393216 inodes, 786432 blocks

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

16384 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: 完成 


修改完后,可以看到高亮393216 inodes, 786432 blocks,它们之间的关系是1:2,修改成功。


总结:

mke2fs -b(块大小)  -m(预留空间)  -i(修改inode与块的对比关系)

强调

#mke2fs -t ext4 /dev/sdb1 #mkfs.ext4 /dev/sdb1  两者效果是一样的



4.7 磁盘挂载(上)


磁盘 不分区 直接格式化发生的情况,以及具体操作 如下:

先del之前配好的分区

#fdisk /dev/sdb

  设备 Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     6293503     3145728   83  Linux


命令(输入 m 获取帮助):d

已选择分区 1

分区 1 已删除

设备 Boot      Start         End      Blocks   Id  System


命令(输入 m 获取帮助):w

The partition table has been altered!


Calling ioctl() to re-read partition table.

正在同步磁盘。


不分区,直接格式化xfs格式

#mkfs.xfs /dev/sdb

# mkfs.xfs /dev/sdb

mkfs.xfs: /dev/sdb appears to contain a partition table (dos).

mkfs.xfs: Use the -f option to force overwrite.


安全提示,有风险,按-f强制执行,

# 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


再#blkid /dev/sdb 查看文件系统,确认是xfs,格式化完成

# blkid /dev/sdb

/dev/sdb: UUID="3a209d80-d5b2-4488-8263-7bc81822a574" TYPE="xfs" 


高亮 以上证明,不管有没有分区,都可以进行格式化操作。


挂载

#mount 设备 挂载点

#mount /dev/sdb /mnt 此处是:把/dev/sdb挂载在/mnt


#df -h 查看挂载点

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        28G 1001M   27G    4% /

devtmpfs        483M     0  483M    0% /dev

tmpfs           493M     0  493M    0% /dev/shm

tmpfs           493M  6.8M  486M    2% /run

tmpfs           493M     0  493M    0% /sys/fs/cgroup

/dev/sda1       187M   97M   91M   52% /boot

tmpfs            99M     0   99M    0% /run/user/0

高亮 /dev/sdb         10G   33M   10G    1% /mnt


挂载点说法:磁盘的入口,没有挂载点,没办法再此磁盘写东西。

#mount  可以看到/dev/sdb 的文件系统

/dev/sdb on /mnt type 高亮xfs (rw,relatime,seclabel,attr2,inode64,noquota)


卸载挂载 #umonut /dev/sdb

test

#cd /mnt

#touch 1.txt 2.txt 

#mkdir 234

#ls 

1.txt  234  2.txt

#umount /dev/sdb

umount: /mnt:目标忙。

        (有些情况下通过 lsof(8) 或 fuser(1) 可以

         找到有关使用该设备的进程的有用信息)


因为挂载点被cd进去了,所以挂载失败,解决方法是 进去其他除/mnt(sdb挂载点)即可,操作如下:

[[email protected] mnt]# cd ~

[[email protected] ~]# umount /dev/sdb 

[[email protected] ~]# df -h

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        28G 1001M   27G    4% /

devtmpfs        483M     0  483M    0% /dev

tmpfs           493M     0  493M    0% /dev/shm

tmpfs           493M  6.8M  486M    2% /run

tmpfs           493M     0  493M    0% /sys/fs/cgroup

/dev/sda1       187M   97M   91M   52% /boot

tmpfs            99M     0   99M    0% /run/user/0


如果想进行强制卸载,可以使用#umount -l /mnt (l代表lazy,懒的意思,此处可以当做省去切换目录操作)



4.8 磁盘挂载(下)


mount 常用选项 

#man mount

搜索到 defaults

              Use default options: rw, suid, dev, exec, auto, nouser, and async.

defaults 是默认的,不加任何选项 一般就是defaults


-o  option 

ro 只读

rw 可读可写

suid 允许分区文件设置suid权限

dev 分区关系

exec 是否可执行,如果noexce,这个分区下面的文件则没有执行权利。

auto 自动挂载

nouser  普通用户挂载不到,默认

async 对应sync,sync,文件和内容随时写入内存,会使硬盘压力越来越大。async则相反,默认是async,async是过一会再同步,让其有缓冲。

remount 重新挂载


*关键文件 /vi/etc/fstab

系统启动,默认挂载了哪些磁盘,哪些分区,都是在此文件下进行配置

# /etc/fstab

# Created by anaconda on Sat Jan 20 01:12:40 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=ee52814c-cbd8-496e-8c0c-3dfb524bd752 /                       xfs     defaults        0 0

UUID=723e348f-61a5-4fb4-920c-e0a0670da7b2 /boot                   xfs     defaults        0 0

UUID=1d26d6c7-0e21-4c11-b655-73b1cf2863e1 swap                    swap    defaults        0 0

/dev/sdb                                /                       xfs     defaults        0 0


左到右 五列

设备 设备号 UUID(blkid查看)

挂载点

分区格式

挂载选项

是否备份 1备份 0不备份 早期需要备份,现在一般不备份

优先级 1,2 检测,0不检测(一般常用0)是否检测硬盘有没有故障 问题。


这种方法也可以同样挂载UUID


[[email protected] ~]# blkid 

/dev/sda1: UUID="723e348f-61a5-4fb4-920c-e0a0670da7b2" TYPE="xfs" 

/dev/sda2: UUID="1d26d6c7-0e21-4c11-b655-73b1cf2863e1" TYPE="swap" 

/dev/sda3: UUID="ee52814c-cbd8-496e-8c0c-3dfb524bd752" TYPE="xfs" 

/dev/sdb: UUID="3a209d80-d5b2-4488-8263-7bc81822a574" TYPE="xfs" 

[[email protected] ~]# umount /mnt

umount: /mnt:未挂载

[[email protected] ~]# mount UUID="3a209d80-d5b2-4488-8263-7bc81822a574" /mnt

[[email protected] ~]# df -h

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        28G 1001M   27G    4% /

devtmpfs        483M     0  483M    0% /dev

tmpfs           493M     0  493M    0% /dev/shm

tmpfs           493M  6.8M  486M    2% /run

tmpfs           493M     0  493M    0% /sys/fs/cgroup

/dev/sda1       187M   97M   91M   52% /boot

tmpfs            99M     0   99M    0% /run/user/0

/dev/sdb         10G   33M   10G    1% /mnt



4.9 手动增加swap空间


某些服务需要很大的swap空间,所以需要做swap增大

创建模拟磁盘,100M小分区

dd if=/dev/zero of=/tmp/newdisk bs=1M count=100

(dd命令操作磁盘,if指定源from路径。/dev/zero 导零器。可以产生源源不断的0。of目标to路径。bs指定块的大小。count=100M,count等于b*4=1M x 100s )

[[email protected] ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100

记录了100+0 的读入

记录了100+0 的写出

104857600字节(105 MB)已复制,0.459588 秒,228 MB/秒

[[email protected] ~]# du -sh /tmp/newdisk

100M /tmp/newdisk


创建虚拟磁盘完成后,还需要格式化

因为swap是一种特殊文件系统,所以要用到#mkswap命令去格式化

#mkswap -f /tmp/newdisk

#free -m  查看swap 容量

              total        used        free      shared  buff/cache   available

Mem:            984         117         622           6         244         695

Swap:          2047           0        2047


[[email protected] ~]#  swapon /tmp/newdisk 

swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。


[[email protected] ~]# free -m

              total        used        free      shared  buff/cache   available

Mem:            984         116         622           6         244         696

Swap:          2147           0        2147


[[email protected] ~]# chmod 0600 /tmp/newdisk 


[[email protected] ~]# swapoff /tmp/newdisk 


[[email protected] ~]# free -m

              total        used        free      shared  buff/cache   available

Mem:            984         116         622           6         244         696

Swap:          2047           0        2047

[[email protected] ~]# rm -f /tmp/newdisk


以上是关于三周第五次课(2月9日)的主要内容,如果未能解决你的问题,请参考以下文章

三周第五次课(2月9日)

三周第五次课(12月29日)

Linux20180416三周第五次课(4月10日)

三周第五次课(12月29日) 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间

五周第五次课(3月9日)

Linux学习笔记第五周第五次课(3月9日)