本文共 4361 字,大约阅读时间需要 14 分钟。
在马哥教育学linux已经一个月了,已经基础的文件修改、查找、搜索、删除、复制、替换和文件权限更改。现在跟大家分享一下最近的学习内容:磁盘的分区、文件系统的创建、设备的挂载、swap的增加、和逻辑卷的创建、增加、移除、取消。已经算是一个入门的小白了吧!
• fdisk 创建MBR分区
• gdisk 创建GPT分区• parted 高级分区操作重新设置内存中的内核分区表版本• partprobe列出块设备• lsblk用法:parted [选项]... [设备 [命令 [参数]...]...]
fdisk -l查看分区 其中Disk label type: dos 就是MBR分区方式还有就是大小
fdisk /dev/sda 会进入交互式模式,m帮助可查看子命令常见子命令:p 分区列表t 更改分区类型n 创建新分区d 删除分区v 校验分区w 保存并退出q 不保存并退出MBR格式会设置主分区或扩展分区,还有起始位置和结束位置的设定要注意gdisk和fdisk差不多都是交互式方式分区就不再介绍了
- 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 ext3mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3-i # 为数据空间中每多少个字节创建一个inode;不应该小于block大小-N # 指定分区中创建多少个inode-I 一个inode记录占用的磁盘空间大小,128---4096-m # 默认5%,为管理人员预留空间占总空间的百分比-O FEATURE[,...] 启用指定特性-O ^FEATURE 关闭指定特性
- 常发生于死机或者非正常关机之后挂载为文件系统标记为“no clean”注意:一定不要在挂载状态下修复fsck: File System Checkfsck.FS_TYPEfsck -t FS_TYPE-p 自动修复错误-r 交互式修复错误FS_TYPE 一定要与分区上已经文件类型相同e2fsck:ext系列文件专用的检测修复工具-y 自动回答为yes-f 强制修复
注意:挂载点
事先存在,建议使用空目录进程正在使用中的设备无法被卸载查看挂载情况findmnt 挂载点|设备名查看正在访问指定文件系统的进程lsof 挂载点fuser -v 挂载点终止所有在正访问指定的文件系统的进程fuser -km 挂载点
/etc/fstab每行定义一个要挂载的文件系统
- 要挂载的设备或伪文件系统① 设备文件②LABEL:LABEL=""③UUID:UUID=""④伪文件系统名称:proc, sysfs
- 挂载点
- 文件系统类型:ext4,xfs,iso9660,nfs,none
- 挂载选项:defaults ,acl,bind
- 转储频率:0:不做备份 1:每天转储 2:每隔一天转储
- fsck检查的文件系统的顺序:允许的数字是0 1 20:不自检1:首先自检;一般只有rootfs才用2:非rootfs使用
df [OPTION]... [FILE]...
-H 以10为单位 于-h相似-T 文件系统类型-h human-readable人类易读格式显示-i inodes instead of blocks inode编号查询-P 以Posix兼容的格式输出既显示对齐,不再换行显示
du [OPTION]... DIR
-h human-readable-s summary--max-depth=# 指定最大目录层级
- 先创建一个新分区$ fdisk /dev/sdc
- 分区创建一个文件系统$ mkfs.xfs /dev/sdc1
- 挂载在一个空目录 $ mount /dev/sdc1 /mnt
- 复制家目录里所有文件到临时挂载点$ cp -a /home/. /mnt
- 删除/home文件夹中文件;再挂载到/home文件夹$ rm -rf /home/* ;mount /dev/sdc1 /home
- 写入配置文件$ vim /etc/fstab
- 重新扫描并检查挂载情况$ mount -a注:以上都是先进入维护模式init 1 ,再迁移
$ 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使用情况
$ 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检查挂载点
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 此处跟的是挂载点
1.先检查逻辑卷的卷组是否和要迁入的服务器是否同名,如同名则改名
vgrename vg0 vg1 把vg0改名为vg1禁用vg1卷组 并用vgdisplay 命令查看禁用情况vgchange -an vg1 禁用vg1组状态为lv状态为notavailablevgexport vg1 导出逻辑卷写入文件 生成后缀为vmdk的磁盘复制磁盘文件到另外的虚拟机 使用现有磁盘找到文件pvdisplay查看是否有新的物理卷vgimport vg1导入vg1卷组vgchange -ay vg1 激活vg1 卷组mount挂载新的逻辑卷并写入配置文件
$ umount /data/binlog
消挂载$ fsck -f /dev/vg0/binlog 文件系统的检查$resize2fs /dev/vg0/binlog 10G 文件系统缩减到10G 没加数字是扩展文件系统$ mount -a 恢复挂载
拆除前先确定拆除设备的卷组剩余情况,和拆除卷组的文件系统格式
$ pvmove /dev/sdd$ pvmove搬得是空间不是数据$ vgreduce vg0 /dev/sdd这是把/dev/sdd从vg0卷组移除$ pvremove /dev/sdd再删除sdd的物理卷 使sdd变为一个可用磁盘
$ umount /mnt/vg1-mysql/
取消挂载$ lvremove /dev/vg1/mysql 删除逻辑卷$ vgremove vg1 删除vg1卷组$ pvremove /dev/sde 删除sde的物理卷恢复成可用磁盘
转载于:https://blog.51cto.com/14322554/2403591