小白成长之路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分区方式还有就是大小

fdisk /dev/sda 会进入交互式模式,m帮助可查看子命令

常见子命令:
p 分区列表
t 更改分区类型
n 创建新分区
d 删除分区
v 校验分区
w 保存并退出
q 不保存并退出
MBR格式会设置主分区或扩展分区,还有起始位置和结束位置的设定要注意

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. 创建完文件系统以后就可以挂载了

注意:挂载点
事先存在,建议使用空目录
进程正在使用中的设备无法被卸载
查看挂载情况
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使用

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=# 指定最大目录层级

9. dd命令用法

10. 内存备份

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的物理卷恢复成可用磁盘

原文地址:https://blog.51cto.com/14322554/2403591

时间: 2024-07-29 15:11:24

小白成长之路4的相关文章

Linux小白成长之路

Linux小白成长之路 本人忘祭,一个刚刚进入跨入Linux世界的小白.Linux对于我来说其实是很神秘的,很早以前就听说过.也曾见各种技术大牛使用过.但是一直以来也没有去接触的想法,因为感觉太高深.从四月开始报名马哥教育,到现在看预习视频已经一个月了.刚开始看到那些专业术语,感觉脑袋都要大了.对于一个已经三十岁的我来说,当初是硬逼着自己看下去的.看一遍不理解,就两遍三遍重复着看.随后在网上查看各种帖子.文章,想从中找到些学习的切入点,但是觉得不是那么容易着手.无法理解.但是现在听了王老师的面授

小白成长之路2

感想 ??在 马哥教育学习了两周了,每一天都在充实自己.对于一个小白来说,现在至少会切换目录.查找文件.安装卸载程序.创建修改文本.修改权限.查一些电脑软硬件信息.每天都有很多内容,很多命令需要去背.去理解.去应用.上次已经介绍了怎么安装系统,那么现在分享一下我现在学习到的简单命令.(大牛勿喷) 分享 1. 关机和重启: 关机:halt,power,shoudown -h,init 0. 重启:reboot,shotdown -r,init 6. 其中shutdown还有定时关机和取消关机命令-

小白成长之路:初识python(六) --python线程池

#!/usr/bin/env python# -*- coding:utf-8 -*-import threadingimport queueimport time"""对照着武老师的课程自己跟着做了一个线程池,主要的思路就是把要执行的任务放进队列中然后创建若干个线程不断地从队列中获取任务并执行相对比low B 版的线程池有很大改进,姑且叫low A版吧...""" Stop_Flag = object() class ThreadPool(ob

程序猿小白成长之路[盒模式&浮动布局]

深入盒模式及浮动布局 1文档流:浏览器在页面上摆放HTML元素所用的方法1-1块元素的文档流 1-2内联标签的文档流:如果有足够空间 他们会挨个摆放,如果空间不够,剩下的会摆到下一行 2浮动布局<div>float 浮动clear 清除 有left right both none值 3浮动不居中的盒模式计算 在列表页添加左侧浮动的图片1-1使用 img 同样也添加一个alt属性 <img src="images/egg.jpg" alt="西红柿炒鸡蛋&qu

程序猿小白成长之路[定位]

定位 1-1在 CSS 中使用 position 属性实现网页的定位技术,他有4个值: static 是position属性的默认值,标签会显示在正常的文档流中relativeabsolutefixed1-2除了 static之外,使用另外3个值可以让一个标签变成定位元素当一个标签被定位之后,你就可以使用CSS的top. right.bottom.left四个属性精确控制标签在HTML文档中的位置,利用这些定位属性你可以在HTML文档中任意摆放一个标签的位置. 2-1relative 相对定位将

程序猿小白成长之路[初级框架布局]

HTML框架布局 AJAX: 是JavaScript中的一个技术,需要先掌握JavaScript;AJAX是请求接口用的 frameset标签 frame 标签 框架页面的基本架构 水平布局 cols:表示子框架水平排列 垂直布局 rows:定义垂直布局的框架集 混合框架集 cols & rows 为框架添加内容 使用 style属性定义一个标签的内联样式 框架中的导航 框架的尺寸可以通过拖动边框来调整的,如何是边框固定? 1-1在源代码中为 frameset标签设置 一个属性noresize

小白成长之路3

文件管理 1. 文件通配符 * 匹配零个或多个字符? 匹配任何单个字符~ 当前用户家目录~papo 用户papo的家目录~+ 当前工作目录~- 前一个工作目录[0-9] 匹配数字范围[a-z]:任意一个小写字母[A-Z]:任意一个大写字母[wang] 匹配列表中的任何的一个字符[^wang] 匹配列表中的所有字符以外的字符[:digit:] 任意数字,相当于[0-9][:lower:] 任意小写字母=[a-z][:upper:] 任意大写字母=[A-Z][:alpha:] 任意大小写字母[a-z

《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学校复习,都希望你过好这个长假. 没有出去玩的也不用羡慕别人,利用这段时间充充电,不比去旅游看人头要好的多吗? 最近终于把我的原创文章整理成一本电子书了,趁着国庆开始之前发布出来,希望对你有所帮助. 这本电子书整理了我过去一年时间里在微信公众号[黄小斜]里创作的文章,包括Java学习.求职面试.成长心得.感悟思

2017年Java web开发工程师成长之路

详情请交流  QQ  709639943 00.2017年Java web开发工程师成长之路 00.R语言速成实战 00.R语言数据分析实战 00.Python+Django+Ansible Playbook自动化运维项目实战 00.Java深入微服务原理改造房产销售平台 00.Python3入门机器学习 经典算法与应用 00.老司机学python篇:第一季(基础速过.机器学习入门) 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标