设为首页 收藏本站
查看: 886|回复: 0

[经验分享] (转)CentOS分区操作详解

[复制链接]

尚未签到

发表于 2017-11-15 09:48:50 | 显示全部楼层 |阅读模式
CentOS分区操作详解
  原文:http://blog.csdn.net/yonggeit/article/details/77924393

磁盘分区
  分区格式的两种选择:MBR和GPT

分区命令:

parted的操作都是实时生效的,小心使用,主要是用于大于2T硬盘,支持MBR和GPT两种格式。

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



  •   parted /dev/sdb mklabel gpt|msdos
    //选择分区格式

  •   parted /dev/sdb print
    //查看分区

  •   parted /dev/sdb mkpart primary 1 200 (默认M)
    //分出一个199M的分区

  •   parted /dev/sdb rm1
    //删除分区1
      ==parted /dev/sdb mklabel gpt
    parted /dev/sdb mkpart primary 1 1G
    parted /dev/sdb print
    parted /dev/sdb mkpart primary 1001 20G
    parted /dev/sdb mkpart logical 20G 80G
    parted /dev/sdb rm 1==

gdisk 主要是去分GPT格式 (支持2T以上)

  gdisk -l [-u] [device…]
  子命令:
- p 分区列表
- t 更改分区类型
- n 创建新分区
- d 删除分区
- w 保存并退出
- q 不保存并退出

gdisk   /dev/sdb
Command (? for help): n
Partition number (3-128, default 3):3
First sector (34-419430366, default = 44042240) or {+-}size{KMGTP}:
Last sector (44042240-419430366, default = 419430366) or {+-}size{KMGTP}: +20g
Hex code or GUID (L to show codes, Enter = 8300):一个ID号,默认就好
Command (? for help): p
Command (? for help):w 存盘退出

fdisk 分MBR格式(2T以下推荐使用)

  fdisk -l [-u] [device…]

  子命令:
- p 分区列表
- t 更改分区类型
- n 创建新分区
- d 删除分区
- w 保存并退出
- q 不保存并退出

fdisk /dev/sdb
Command (m for help): m
Command (m for help): n
Partition type:
p   primary (0 primary, 0 extended, 4 free)
e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-419430399, default 2048):
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399):+1G(必须严格区分大小写)
Command (m for help): p
Command (m for help): w

  fdisk 实现非交互式分区:

echo -e "n\np\n1\n\n+1G\nw\n"  |fdisk /dev/sdb

  echo -e 激活转义符


  • \a 发出警告声
  • \n 回车
  查看机器上有几个分区的方法:


  • lsblk
  • fdisk -l
  • ls /dev/sd*
  • cat /proc/partitions
  • echo ‘- - -’ > /sys/class/scsi_host/host2(可能不止一个)/scan(新插磁盘用这个可以看出来)
  同步分区信息:
  cetos 5或者7 :partprobe-重新设置内存中的内核分区表版本
  centos6 :
  新增分区同步: partx -a /dev/sda
  删除分区同步: partx -d –nr 7-8 /dev/sda
  查工具来自哪个包:
  yum list |grep xfs 找安装包
  MBR和GPT格式相互转换:
  parted /dev/sdb mklabel msdos
  **注意:分区名称不稳定
分区同步问题

执行完每个命令一定要看下,验证下结果,再做下一步。**

文件系统
  文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。

  Linux文件系统:ext2(Extended file system), ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap
  光盘:iso9660
  Windows:fat32, ntfs
  Unix: FFS(fast), UFS(unix), JFS2
  网络文件系统:NFS, CIFS
  集群文件系统:GFS2, OCFS2(oracle)
  分布式文件系统:fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
  RAW:未经处理或者未经格式化产生的文件系统
  说明:
  centos 7 默认 XFS
  centos 6 默认 ext4
  centos 5 默认 ext3
  ext2与ext3相差一个日志功能(journal)
  blkid 查看当前系统已有文件系统


创建文件系统
  mkfs命令:

  mkfs.FS_TYPE/dev/DEVICE

[iyunv@centos6: /root]# mkfs.ext4 /dev/sdb1
[iyunv@centos6: /root]# blkid
/dev/sdb1: UUID="fe5ae367-e43e-4a1e-b94e-43a472e3c941" TYPE="ext4"

  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:关闭指定特性

[iyunv@centos6: /root]# mke2fs -t ext3 -b 4096 -L /mnt/sdb3 -i 8192 -m 3 /dev/sdb3

  blkid:块设备属性信息查看


  •   -U UUID: 根据指定的UUID来查找对应的设备
    [iyunv@centos6: /root]# blkid -U 7e927cef-2b89-4091-a5ec-6170b0fbedb3
    /dev/sda6


  •   -L LABEL:根据指定的LABEL来查找对应的设备
    [iyunv@centos6: /root]#mkfs.ext4 -L /mnt/sdb2 /dev/sdb2 //给设备/dev/sdb2创建一个卷标/mnt/sdb2
    [iyunv@centos6: /root]# blkid
    /dev/sdb2: LABEL=”/mnt/sdb2” UUID=”bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a”TYPE=”ext4”
    [iyunv@centos6: /root]# blkid -L /mnt/sdb2
    /dev/sdb2

  e2label:管理ext系列文件系统的LABEL

  e2label DEVICE [LABEL]

[iyunv@centos6: /root]# blkid
/dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4"
[iyunv@centos6: /root]# e2label  /dev/sdb2 /app/sdb2
[iyunv@centos6: /root]# blkid
/dev/sdb2: LABEL="/app/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4"

  findfs:查找分区

  findfs[options] LABEL=


[iyunv@centos6: /root]# findfs LABEL="/app/sdb2"
/dev/sdb2
findfs[options] UUID=<uuid>
[iyunv@centos6: /root]# findfs UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a"
/dev/sdb2

  tune2fs:重新设定ext系列文件系统可调整参数的值
  -l:查看指定文件系统超级块信息;super block
  -L ‘LABEL’:修改卷标
  -m #:修预留给管理员的空间百分比
  -j: 将ext2升级为ext3
  -O: 文件系统属性启用或禁用,–O
^has_journal
  -o: 调整文件系统的默认挂载选项,–o ^acl
  -U UUID: 修改UUID号
  dumpe2fs:


  •   -h:查看超级块信息,不显示分组信息
    [iyunv@centos6: /root]# dumpe2fs /dev/sdb1

  tune2fs -l /dev/sdb1 查超级块的信息

  # 文件修复


  • 常发生于死机或者非正常关机之后
    挂载为文件系统标记为“no clean”
    注意:一定不要在挂载状态下修复
  fsck: File System Check

  fsck-t FS_TYPE
  -p: 自动修复错误
  -r: 交互式修复错误
  FS_TYPE一定要与分区上已经文件类型相同
  e2fsck:ext系列文件专用的检测修复工具
  -y:自动回答为yes
  -f:强制修复

fsck /dev/sdb2 -y

  注意:修复操作生产中慎用,尽量请专业公司来修复。


挂载
  挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为
  卸载:为解除此关联关系的过程
  把设备关联挂载点:mount Point
  卸载时:可使用设备,也可以使用挂载点
umount
  挂载点下原有文件在挂载完成后会被临时隐藏
  挂载点目录一般为空
  挂载前一点要先查看下挂载情况,一旦已经挂载某个设备的目录,一定不要去挂载其他设备,不然以前目录下设备的文件被隐藏,导致以前目录中文件无法访问,严重话可能会导致部分服务宕机。
  用mount命令挂载文件系统

  mount [-fnrsvw] [-t vfstype] [-o options] device dir
  device:指明要挂载的设备;
  (1) 设备文件:例如/dev/sda5
  (2) 卷标:-L ‘LABEL’, 例如-L ‘MYDATA’
  (3) UUID, -U ‘UUID’:例如-U ‘0c50523c-43f1-45e7-85c0-a126711d406e’
  (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
  注意:


  •   dir:挂载点
    事先存在;建议使用空目录

  •   进程正在使用中的设备无法被卸载

    mount /dev/sdb1 /mnt/sdb1 //挂载

    df //查看
      /dev/sdb1 999320 2564 927944 1% /mnt/sdb1
  mount常用命令选项
- -t vsftype:指定要挂载的设备上的文件系统类型
- -r: readonly,只读挂载
- -w: read and write, 读写挂载
- -n: 不更新/etc/mtab,mount不可见(隐藏挂载,只能使用cat /proc/mounts)
- -a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
- -L ‘LABEL’: 以卷标指定挂载设备
- -U ‘UUID’: 以UUID指定要挂载的设备
- -B, –bind: 绑定目录到另一个目录上
  **查看内核追踪到的已挂载的所有设备:
cat /proc/mounts**
  -o options:(挂载文件系统的选项),多个选项使用逗号分隔
  async:异步模式
  sync:同步模式,内存更改时,同时写磁盘
  atime/noatime:包含目录和文件
  diratime/nodiratime:目录的访问时间戳
  auto/noauto:是否支持自动挂载,是否支持-a选项
  exec/noexec:是否支持将文件系统上运行应用程序
  dev/nodev:是否支持在此文件系统上使用设备文件
  suid/nosuid:不否支持suid和sgid权限
  remount:重新挂载
  ro:只读
  rw:读写
  user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载
  acl:启用此文件系统上的acl功能
  Defaults:相当于rw, nosuid, dev, exec, auto, nouser, async
  查看挂载情况:


findmnt MOUNT_POINT
  查看正在访问指定文件系统的进程:


lsof MOUNT_POINT

fuser -v MOUNT_POINT
  终止所有在正访问指定的文件系统的进程:


fuser -km MOUNT_POINT
  取消挂载卸载:


umount DEVICE

umount MOUNT_POINT
  查看挂载关系


mount

cat /etc/mtab
  cat /proc/mounts //隐藏挂载也可以看到

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

  #cat   /etc/fstab
UUID=6ef6b1fe-1da4-406f-a028-3530d277e279 /                       ext4    defaults        0 0

  从左到右依次解释:


  • 要挂载的设备或伪文件系统
  • 挂载点
  • 文件系统类型
  • 挂载选项
  • 转储频率
  • 自检次序
  • 要挂载的设备
  目录挂目录的配置文件写法:

/boot /mnt/boot  none  bind 0 0

  文件系统挂文件的配置文件写法:

/root/partfile /mnt/file ext4 loop 0 0

  生效: mount -a
  重新挂载某个设备:

mount -o remount /mnt/sdb1

处理交换文件和分区
  交换分区是系统RAM的补充
  基本设置包括:
  创建交换分区或者文件:
  分区完需要改ID为82,默认为83,按t更新,L可以查看可以更改的类型。
  使用mkswap写入特殊签名

[iyunv@centos6: /root]# mkswap  /dev/sdb5  -L swap2

  ·在/etc/fstab文件中添加适当的条目

vim /etc/fstab
:r!blkid  /dev/sdb2 //vim下读取某个分区的UUID
UUID=09149535-ae7e-4b41-bba7-917aa8d1cc19 /mnt/swap2  swap  defaults 0 0

  ·使用swapon -a 激活交换空间

[iyunv@centos6: /root]# swapon -a //重新读取配置文件生效


  • swapon -s 查看谁提供swap
  U盘插入使用
  U盘显示的设备名称Sdd
  sync强制写U盘,使用三次。
  光盘做ISO文件

    cp /dev/sro /root/centos6.iso

  U盘做ISO

    dd if=centos6.iso of=/dev/sdd

  目录做成ISO文件

mkisofs -r -o etc.iso /etc/
直接挂载该文件:
mount -o loop etc.iso /nmt/cdrom //只能做yum源码
eject -t /dev/sro //弹出光盘

  tune2fs -l /dev/sdb1 查超级块的信息
  挂载次数: mount count

tune2fs -C 33 /dev/sdb1

  maximun mount
count:达到次数触发检查

    tune2fs -c 33 /dev/sdb1

  check interval: 天为单位

    tune2fs -i 33w /dev/sdb1

  default mount options: (none)
  拒绝wang用户访问a文件
setfacl -m u:wang:0 a
设置该项时可能系统不支持
  1.需要挂载的时候加选项进去,
改配置文件

/dev/sdb1  /mnt/sdb1 ext4 acl 0 0

  2.tune2fs -o acl /dev/sdb1

tune2fs -l acl  /dev/sdb1 //查看超级块信息

  看有没有acl选项
1. tune2fs -l acl /dev/sdb1
  2.mount
  用户在线的情况下,想要取消ACL功能

mount -o remout,noacl /mnt/sdb1

  centos6 安装系统时候的分区默认是有acl功能的。
centos7默认都有。
  记住一个重要信息:只要存到磁盘的数据就不会丢失,存到内存关机可能会丢失。

  补充知识点:
  ACL 是什么?
  ACL的全称是 Access Control List (访问控制列表) ,一个针对文件/目录的访问控制列表。它在UGO权限管理的基础上为文件系统提供一个额外的、更灵活的权限管理机制。它被设计为UNIX文件权限管理的一个补充。
  ACL允许你给任何的用户或用户组设置任何文件/目录的访问权限。
  检查是否支持ACL
  ACL需要Linux内核和文件系统的配合才能工作,当前我们能见到的大多数Linux发行版本默认都是支持的。但最好还是能够先检查一下:

sudo tune2fs -l /dev/sda1 |grep “Default mount options:”
Default mount options:                 user_xattr    acl

  我们能够看到默认情况下(Default mount options:)已经加入 acl 支持了。
  如何设置ACL
  我们可以使用setfacl和getfacl命令来设置或观察文件/目录的acl权限。
  setfacl
  参数不多,直接列出来了:
  setfacl [-bkRd] [{-m|-x} acl参数] 文件/目录名
  -m :配置后面的 acl
参数给文件/目录使用,不可与 -x 合用;
  -x :删除后续的 acl 参数,不可与 -m 合用;
  -b :移除所有的 ACL 配置参数;
  -k :移除默认的 ACL 参数;
  -R :递归配置 acl;
  -d :配置“默认 acl
参数”,只对目录有效,在该目录新建的数据会引用此默认值;
  getfacl
  getfacl 文件/目录名

   [iyunv@localhost: /root]# setfacl -m u:xiangge:rwx aaa4
[1002][iyunv@localhost: /root]# ll aaa4
-rw-rwxr--+ 1 root root 0 Apr 25 10:22 aaa4
[1003][iyunv@localhost: /root]# getfacl aaa4
# file: aaa4
# owner: root
# group: root
user::rw-
user:xiangge:rwx
group::r--
mask::rwx
other::r--

  针对组的提权使用 g就行
  子文件/目录继承父目录的权限
  这是一个很棒的例子,它能让我们创建的子文件或者子文件夹继承父文件夹的权限设置!

mkdir mydir
ll -d mydir
drwxr-xr-x 2 root root 4096 May 28 09:35 mydir
setfacl –m d:u:apache:rwx mydir

  注意参数 d 在这里起到了决定性的作用。
  查看下属性的变化:

getfacl mydir
...
default:user::rwx
default:user:apache:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

  多了些 default开头的项,在mydir下创建一个新文件试试:

touch mydir/abc
getfacl mydir/abc
...
user:apache:rwx                 #effective:rw-
group::r-x                      #effective:r--
mask::rw-
...

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407154-1-1.html 上篇帖子: CentOS Docker 安装 下篇帖子: centos 配置redis
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表