• Linux中的磁盘


    磁盘分区:将硬盘划分成多个逻辑存储单元。
    逻辑存储单元:分区

    分区的益处:
    1、限制应用或用户的可用空间
    2、允许同一块硬盘安装不同的操作系统
    3、可以给虚拟内存一个单独的分区
    4、提高硬盘的使用性能
    磁盘    磁道        扇区(磁盘的最小单位-512字节)

    MBR-Main Boot Record(主引导记录):告诉硬盘如何进行分区

    特点:
    1、支持4个主分区
    2、使用扩展分区和逻辑分区可以支持15个分区
    3、允许最大分区和磁盘大小为2T
    fdisk来进行分区
    IDE接口硬盘:/dev/dh[a-z]  SCSI接口硬盘:/dev/sd[a-z]

    n(新建)> p(创建主分区)> 分区编号 > 起始扇区 > 设置分区大小 > p(查看)> w(保存)
    先分区   d:删除



    内核重新读取新的分区表
        [root@localhost ~]# partprobe /dev/sdb

    创建文件系统,linux支持很多文件系统,ext4和xfs,windowS下文件系统:NTFS   FAT32
        mkfs.ext4 /dev/sdb1

    挂载,将文件系统连接到目录结构中—将目录和一个硬盘进行挂钩

    挂载:
    手动挂载:重启后会失效。用于检测已经格式化的设备,是否可以和预期一样的进行工作
    mount  硬件所在目录   挂载点(目录)


    永久挂载:就要将设备添加到/etc/fstab中去了
    永久挂载-文件格式

    该文件由六个部分组成
    第一部分:要使用的设备—可以使用UUID,也可以使用设备文件
           blkid //查看设备的UUID号

    blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。要使用这个命令必须安装e2fsprogs软件包。

    第二部分:写挂载点,已经存在直接写,不存在使用mkdir来创建


    第三部分:文件系统类型




    该文件由六个部分组成
    第四部分:挂载时,应用于设备的自定义选项,defaults是必须的

    第五和第六部分:转存标志和fsck顺序
    转存标志:用于生成设备内容的备份,
    0:表示不需要备份
    1:表示需要备份

    fsck:当有多个文件系统需要检查时,检查的顺序。
    0表示不需要检查,开机直接挂载
    1表示检查后第一个挂载
    2表示检查后第二个挂载

    使用mount -a命令  检查书写格式是否有误。

    交换空间-swap

    交换空间—虚拟内存。
    1、存放内存中不活动的信息
    2、内存写满时,使用
    3、如果虚拟内存写满,那么Linux会非常卡,甚至崩溃

    创建步骤
    1、创建分区
    2、将分区类型设为swap—fdisk t(修改分区类型)
    3、格式化—mkswap  分区
    4、挂载:临时和永久(ect/fstab)

    临时:
    free命令:查看可用的内存和虚拟内存空间
    swapon命令:激活内存空间
    交换空间—虚拟内存。
    1、存放内存中不活动的信息
    2、内存写满时,使用
    3、如果虚拟内存写满,那么Linux会非常卡,甚至崩溃

    创建步骤
    1、创建分区
    2、将分区类型设为swap—fdisk t(修改分区类型)
    3、格式化—mkswap  分区
    4、挂载:临时和永久(ect/fstab)

    临时:
    free命令:查看可用的内存和虚拟内存空间
    swapon命令:激活内存空间
    交换空间—虚拟内存。
    1、存放内存中不活动的信息
    2、内存写满时,使用
    3、如果虚拟内存写满,那么Linux会非常卡,甚至崩溃

    创建步骤
    1、创建分区
    2、将分区类型设为swap—fdisk t(修改分区类型)
    3、格式化—mkswap  分区
    4、挂载:临时和永久(ect/fstab)

    临时:
    free命令:查看可用的内存和虚拟内存空间
    swapon命令:激活内存空间

    逻辑卷和逻辑分区不是同一个概念

    逻辑卷的作用:
    正常的分区如果写满了,我们就可以要把数据导入到更大的磁盘中,工作量非常大,而且十分危险。
    逻辑卷管理器(LVM)可以更加轻松的管理磁盘空间,来轻松的解决一个问题。

    lvm比传统硬盘存储的优化点
    1、灵活性容量—允许多个磁盘或分区做成一个逻辑卷
    2、可伸缩的存储池—可以用命令来修改逻辑卷,而不用格式化
    3、在线数据在分配—可以在线移动数据,可以在跟换热插拔磁盘
    4、设备命名方便
    5、镜像卷—很方便的做数据镜像
    6、卷快照—快照会把逻辑卷中的内容全部内容保存
    物理卷(PV):用于注册基础物理设备,映射到物理设备
    卷组(VG):存储池,由一个或多个物理卷组成
    逻辑卷(LV):根据卷租中空闲的物理空间进行分配

    创建逻辑卷步骤:
    1、使用fdisk创建一个分区,t设置分区类型为:linux LVM
    2、使用partprobe向内核注册新的分区
    3、创建物理卷pvcreate /dev/sdb1
    4、创建卷组vgcreate lewis /dev/sdb1
    5、创建逻辑卷lvcreate -n abc -L 10M lewis
    6、创建文件系统mkfs.ext4 /dev/lewis/abc
    7、创建挂载点-永久
    查看物理卷信息-pvdisplay /dev/sdb1
    查看卷组信息-vgdisplay lewis
    查看逻辑卷信息-lvdisplay /dev/lewis/lewis-lv
    物理卷(PV):用于注册基础物理设备,映射到物理设备
    卷组(VG):存储池,由一个或多个物理卷组成
    逻辑卷(LV):根据卷租中空闲的物理空间进行分配

    删除逻辑卷步骤:
    1、取消挂载,umount /mnt/lewis-lv/,同时要删除/etc/fstable文件中的内容
    2、删除逻辑卷,lvremove /dev/lewis/abc
    3、删除卷组,vgremove lewis
    4、删除物理卷,pvremove /dev/sdb1





    如果卷组还有空间,直接给逻辑卷增加大小
    1、lvextend -L +20M /dev/lewis/lewis-lv  //增加20M
    2、resize2fs /dev/lewis/lewis-lv  //使增加的生效

    如果卷组空间不够,需要先增加卷租空间,在增加逻辑卷大小
    1、准备物理设备-fdisk,partprobe,mkfs.ext4
    2、创建物理卷
    3、给原来的卷组增加物理卷-vgextend lewis /dev/sdb2,然后vgdisplay

     如果卷组还有空间,直接给逻辑卷增加大小
    1、lvextend -L +20M /dev/lewis/lewis-lv  //增加20M
    2、xfs_growfs /dev/lewis/lewis-lv//使增加的生效

    如果卷组空间不够,需要先增加卷租空间,在增加逻辑卷大小
    1、准备物理设备-fdisk,partprobe,mkfs.ext4
    2、创建物理卷
    3、给原来的卷组增加物理卷-vgextend lewis /dev/sdb2,然后vgdisplay

    1、加载 BIOS
    系统固件加载 BIOS(基本输入输出系统),然后进行开机自检(POST),并开始初始化部分硬 件;

    BIOS:basic input output system,它是一套程序,写死到主 板上的一个内存芯片中,这个内存芯片在没有通电的情况下也能将数 据记录下来(ROM,非挥发性)。

    2、读取 MBR 系统固件搜索磁盘上的主启动记录(MBR)

    由于我们的系统软件大多放置在硬盘中,所以 BIOS 会指定启动 的设备,好让我们可以读取磁盘中的操作系统内核文件,这时候就需要 一个引导装载程序来处理内核文件加载(LOAD)的问题,这个引导装 载程序就被称为 BootLoader。

    那这个 BootLoader 放在哪里呢?
    就放在我们系统上第一个硬盘上的第一个扇区里面。也就是我们 说的 MBR:master boot record。

    3、启动加载器(grub2)
    系统固件从磁盘中读取启动加载器(Boot Loader),然后将系统
    控制权交给启动加载器。在 7 中,我们的 BootLoader 是通过一个 grub 程序来实现的。
    现在是 grub2.0,前一版本是 grub0.97。

    grub2 的主要功能: 1、提供菜单:选择不同的启动选项;
    2、加载内核文件:直接指向可启动的程序区段来开始 OS;
    3、转交其他 Loader(多系统时)。
    4、显示菜单
    启动加载器从我们的磁盘中加载其配置,然后向用户显示用于启 动的可能配置的菜单,这就是我们在开机的时候会看到的让你上下选 择什么什么版本啊,什么什么东西的那个界面。

    我们可通过以下方式进行配置: /etc/grub.d/
    /etc/default/grub
    /boot/grub2/grub.cfg(非手动)
    5、加载内核
    在用户做出选择(超时)后,启动加载器会从磁盘中加载配置的
    内核及 initramfs,并将其置于内存中;
    initramfs 是一个归档文件,里面包含了启动时所需要的必要硬 件的内核模块、初始化脚本等等。在 RHEL7 中,initramfs 得到了加 强,包含自身可用的整个系统。

    6、系统内部传递信息
    这时候我们的启动加载器又将系统控制权交给内核,从而传递启 动加载器的内核命令行中指定的任何选项,以及 initramfs 在内核中 的位置。

    7、初始化 内核这时候会在 initramfs 中找到驱动程序的所有硬件,并且初
    始化它,然后作为 PID1 从 initramfs 中执行/sbin/init。

    PID1 就是systemd,代表的是系统启动的第一个用户级 进程,是所有其他进程的父进程。

    8、执行单元 初始化完成后,我们的 systemd 会执行 initrd.target 目标 的所有文件,这些所有的东西都包括在/sysroot 上挂载实际的 root 文件系统中。

    9、系统回归 接下来内核 root 文件系统会回到之前挂载于/sysroot 上的系统 root 文件系统,然后就是我们 systemd 的事情了,它会使用系统中 安装的 systemd 副本来自行重新执行。
     
    10、开机界面
    我们们熟悉的输入账号密码的界面了







    1、开机按e进入编辑模式
    2、选择 linux16 那一行,然后光标移到这一行末尾,添加一个参 数rd.break。
    3、然后按 ctrl+x 执行。执行之后会进入一个 shell 界面
    4、设置 root 密码。 设置密码一共 5 步:
        1、重新挂载根目录为读写模式 mount –o remount,rw /sysroot
        2、切换到系统真正的根 chroot /sysroot
        3、修改密码 passwd root
        4、SELinux 给所有文件夹标签,必须要有.autorelabel 文件。 touch /.autorelabel
        5、退出编辑模式(两次),系统会自动重启 exit 两次






  • 相关阅读:
    Python数据可视化——散点图
    [ffmpeg 扩展第三方库编译系列] 关于 mingw32 下编译libcaca
    独立python环境之virtualenv和virtualenvwrapper
    深入理解maven及应用(一):生命周期和插件
    Android页面事件挂接模拟
    第六课 Struts的视图组件
    wxWidgets笔记_1_linux环境下wxwidgets的安装与配置
    使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中<meta-data>变量的值
    ubuntu 下安装eclipse &java环境配置
    [Swift]LeetCode695. 岛屿的最大面积 | Max Area of Island
  • 原文地址:https://www.cnblogs.com/zouhong/p/10201501.html
Copyright © 2020-2023  润新知