小白成长之路4

在马哥教育学linux已经一个月了,已经基础的文件修改、查找、搜索、删除、复制、替换和文件权限更改。现在跟大家分享一下最近的学习内容:磁盘的分区、文件系统的创建、设备的挂载、swap的增加、和逻辑卷的创建、增加、移除、取消。已经算是一个入门的小白了吧!

1. 创建分区使用:

• fdisk 创建MBR分区
• gdisk 创建GPT分区
• parted 高级分区操作
重新设置内存中的内核分区表版本
• partprobe
列出块设备
• lsblk

2. parted的操作都是实时生效的,小心使用

用法:parted [选项]... [设备 [命令 [参数]...]...]

  1. 创建一个分区以gpt或者msdos分区方式
    $ parted /dev/sdb mklabel gpt|msdos
    查询分区情况
    $ prted /dev/sdb print
    设置主分区大小
    $ parted /dev/sdb mkpart primary 1 200 (默认M)
    删除分区,此处1为分区编号
    $ parted /dev/sdb rm 1
    列出分区信息
    $ parted -l

3.fdisk 主要是MBR分区时使用,对于GPT分区方式是实验阶段

fdisk -l查看分区 其中Disk label type: dos 就是MBR分区方式还有就是大小
小白成长之路4
fdisk /dev/sda 会进入交互式模式,m帮助可查看子命令
小白成长之路4
常见子命令:
p 分区列表
t 更改分区类型
n 创建新分区
d 删除分区
v 校验分区
w 保存并退出
q 不保存并退出
MBR格式会设置主分区或扩展分区,还有起始位置和结束位置的设定要注意
小白成长之路4
gdisk和fdisk差不多都是交互式方式分区就不再介绍了

4. 创建文件系统

  1. linux中现在常见的文件系统就xfs和etx系列
    其中mkfs命令对于两种文件系统创建都支持
    mkfs.xfs或者ext4 /dev/sdb1
    但是ext系列多用mke2fs
    因为mke2fs:ext系列文件系统专用管理工具支持更多选项
    -t {ext2|ext3|ext4} 指定文件系统类型
    -b {1024|2048|4096} 指定块大小
    -L ‘LABEL’ 设置卷标
    -j 相当于 -t ext3
    mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
    -i # 为数据空间中每多少个字节创建一个inode;不应该小于block大小
    -N # 指定分区中创建多少个inode
    -I 一个inode记录占用的磁盘空间大小,128---4096
    -m # 默认5%,为管理人员预留空间占总空间的百分比
    -O FEATURE[,...] 启用指定特性
    -O ^FEATURE 关闭指定特性
  2. 常发生于死机或者非正常关机之后
    挂载为文件系统标记为“no clean”
    注意:一定不要在挂载状态下修复
    fsck: File System Check
    fsck.FS_TYPE
    fsck -t FS_TYPE
    -p 自动修复错误
    -r 交互式修复错误
    FS_TYPE 一定要与分区上已经文件类型相同
    e2fsck:ext系列文件专用的检测修复工具
    -y 自动回答为yes
    -f 强制修复

5. 创建完文件系统以后就可以挂载了

小白成长之路4

注意:挂载点
事先存在,建议使用空目录
进程正在使用中的设备无法被卸载
查看挂载情况
findmnt 挂载点|设备名
查看正在访问指定文件系统的进程
lsof 挂载点
fuser -v 挂载点
终止所有在正访问指定的文件系统的进程
fuser -km 挂载点

6. 文件挂载配置文件

/etc/fstab每行定义一个要挂载的文件系统

  1. 要挂载的设备或伪文件系统
    ① 设备文件
    ②LABEL:LABEL=""
    ③UUID:UUID=""
    ④伪文件系统名称:proc, sysfs
  2. 挂载点
  3. 文件系统类型:ext4,xfs,iso9660,nfs,none
  4. 挂载选项:defaults ,acl,bind
  5. 转储频率:0:不做备份 1:每天转储 2:每隔一天转储
  6. fsck检查的文件系统的顺序:允许的数字是0 1 2
    0:不自检1:首先自检;一般只有rootfs才用2:非rootfs使用
    小白成长之路4

7. df 文件系统空间占用等信息的查看工具

df [OPTION]... [FILE]...
-H 以10为单位 于-h相似
-T 文件系统类型
-h human-readable人类易读格式显示
-i inodes instead of blocks inode编号查询
-P 以Posix兼容的格式输出既显示对齐,不再换行显示

8. du 查看某目录总体空间占用状态

du [OPTION]... DIR
-h human-readable
-s summary
--max-depth=# 指定最大目录层级
小白成长之路4

9. dd命令用法

小白成长之路4

小白成长之路4

10. 内存备份

小白成长之路4

11. 迁移/home目录到新分区

  1. 先创建一个新分区
    $ fdisk /dev/sdc
  2. 分区创建一个文件系统
    $ mkfs.xfs /dev/sdc1
  3. 挂载在一个空目录
    $ mount /dev/sdc1 /mnt
  4. 复制家目录里所有文件到临时挂载点
    $ cp -a /home/. /mnt
  5. 删除/home文件夹中文件;再挂载到/home文件夹
    $ rm -rf /home/* ;mount /dev/sdc1 /home
  6. 写入配置文件
    $ vim /etc/fstab
  7. 重新扫描并检查挂载情况
    $ mount -a
    注:以上都是先进入维护模式init 1 ,再迁移

12. 增加一个swap分区或者文件

$ disk /dev/sdb 创建一个分区指定文件系统t 82
$ mkswap /dev/sdb1
给sdb1指定swap文件系统
$ vim /etc/fstab
写入配置文件保存
UUID=xxxx swap swap pri=10,defaults 0 0
pri是设定优先级0-32767人为设定 负数是系统默认生成的
$ swapon -a 启用swap重新扫描
$ swapon -s 查看swap使用情况

2.或者用文件生成一个swap设备

$ dd if=/dev/zero of=/swapfile bs=1M count=2048
生成一个大容量文件,或者在系统中找到一个无用的大容量文件
$ mkswap /swapfile
给这个文件指定swap文件系统
$ vim /etc/fstab写入配置文件
#swapfile swap swap defaults 0 0
注意:这里不能写入UUID 只能写路径名
$ swapon -a 启用swap重新扫描
$ swapon -s 查看swap使用情况

13. 实验:创建LV

$ fdisk /dev/sdc创建分区
指定系统id t gpt 31 mbr 8e
$ pvcreate /dev/sd{c1,d}
创建分区和磁盘的物理卷
$ vgcreate vg0 /dev/sd{c1,d}
把磁盘和分区的物理卷命名为vg0
$ lvcreate -n mysql -L 4G vg0
从vg0卷组分出逻辑卷,-n名字为mysql -L指定大小为4G
$ mkfs.xfs /dev/vg0/mysql 写入文件系统
创建相应的文件夹,挂载
$ vim /etc/fstab
写入配置文件
$ mount -a
检查挂载点

14. 实验:扩展LV

1.可以用剩余同卷组PE扩展

$ lvextend -r -L +100M /dev/vg0/binlog 扩展binlog逻辑卷 L是扩展大小 -r是文件系统同步
或者
$ lvextend -L +500M /dev/vg0/binlog 扩展大小
$ resize2fs /dev/vg0/binlog extN 同步ext 系列的文件系统
$ xfs_growfs /mnt/binlog xfs 同步xfs文件系统

2.如果没有剩余卷组的话加一块磁盘

可以直接用一块磁盘作为物理卷
$ pvcreate /dev/sdd
$ vgextend vg0 /dev/sdd 把物理卷/dev/sdd加入vg0 的卷组
$ lvextend -l +100%free /dev/vg0mysql
(-l指定大小PE块或者+100%free剩余)或者-L(直接指定大小 +3G)
再同步文件系统 可以lvextend -r
也可以xfs_growfs /data/mysql 此处跟的是挂载点

15. 逻辑卷磁盘的迁移

1.先检查逻辑卷的卷组是否和要迁入的服务器是否同名,如同名则改名
vgrename vg0 vg1 把vg0改名为vg1
禁用vg1卷组 并用vgdisplay 命令查看禁用情况
vgchange -an vg1 禁用vg1组状态为lv状态为notavailable
vgexport vg1 导出逻辑卷写入文件 生成后缀为vmdk的磁盘
复制磁盘文件到另外的虚拟机 使用现有磁盘找到文件
pvdisplay查看是否有新的物理卷
vgimport vg1
导入vg1卷组
vgchange -ay vg1 激活vg1 卷组
mount挂载新的逻辑卷并写入配置文件

16. 逻辑卷的缩减

$ umount /data/binlog
消挂载
$ fsck -f /dev/vg0/binlog 文件系统的检查
$resize2fs /dev/vg0/binlog 10G 文件系统缩减到10G 没加数字是扩展文件系统
$ mount -a 恢复挂载

17. 实验:拆除PV对应的磁盘

拆除前先确定拆除设备的卷组剩余情况,和拆除卷组的文件系统格式
$ pvmove /dev/sdd
$ pvmove搬得是空间不是数据
$ vgreduce vg0 /dev/sdd
这是把/dev/sdd从vg0卷组移除
$ pvremove /dev/sdd再删除sdd的物理卷 使sdd变为一个可用磁盘

18. 实验:删除逻辑卷,卷组,PV

$ umount /mnt/vg1-mysql/
取消挂载
$ lvremove /dev/vg1/mysql 删除逻辑卷
$ vgremove vg1 删除vg1卷组
$ pvremove /dev/sde 删除sde的物理卷恢复成可用磁盘

猜你喜欢

转载自blog.51cto.com/14322554/2403591