精华内容
下载资源
问答
  • 提出了一种云呼叫中心系统中虚拟化资源进行动态分配的方法,这是一种根据资源池上层应用系统的运行情况决定资源池资源动态分配的方法,该方法包括云呼叫中心系统发起虚拟化资源动态分配请求的触发机制、云呼叫中心...
  • 这个一般是对资源动态分配。 这里是相关的权限可以设置核心数等信息。 计划策略这一栏就是使用默认的设置。其他的设置可以先不管。接下来我们在来看我们真个资源调度的执行顺序: 这里设置成功之后...

    最近在做yarn的资源隔离,就是在yarn的控制界面实现对yarn的资源的划分。这个一般是对资源的动态分配。

     

    这里是相关的权限可以设置核心数等信息。

    计划策略这一栏就是使用默认的设置。其他的设置可以先不管。接下来我们在来看我们真个资源调度的执行顺序:

    这里设置成功之后,我们在提交代码的时候将代码指定到相应的资源池当中进行执行即可。执行的代码如下:

    # echo "Hello World, hello Belle." > file0
    # echo "Hello Wille, hello BB." > file1
    # hdfs dfs -mkdir -p /user/hzp/input/
    # hdfs dfs -put file* /user/hzp/input/
    
    # hadoop jar /opt/cloudera/parcels/CDH/jars/hadoop-examples.jar wordcount  -Dmapred.job.queue.name=root.gxg /user/hzp/input/* /user/hzp/output

     

    转载于:https://www.cnblogs.com/gxgd/p/10197451.html

    展开全文
  • 在分布式集群环境中,如何网格环境中的资源进行有效管理和合理调度至关重要。采用静态固定资源分配等策略不能适应资源和用户请求的动态变化,容易产生资源碎片,造成网格资源利用率低等问题。提出了一种基于分类挖掘...
  • yarn资源管理

    2019-10-07 11:24:33
    Hadoop集群管理员希望能集群Yarn作业的资源进行控制。根据不同的业务组或不同的用户,Yarn的资源池进行划分,达到资源管控、任务管控的效果。通过CM可以进行Yarn动态资源的配置,这里Fayson主要介绍如何在...

    yarn资源管理

     
    1.文档编写目的

    Hadoop集群管理员希望能对集群Yarn作业的资源进行控制。根据不同的业务组或不同的用户,对Yarn的资源池进行划分,达到资源管控、任务管控的效果。通过CM可以进行Yarn动态资源的配置,这里Fayson主要介绍如何在Cloudera Manager中配置Yarn动态资源池的放置规则。

    在这里Fayson主要用一个场景进行描述,在不给作业指定资源池的情况下,通过CM的放置策略将不同的用户提交的作业自动分配到指定的资源池中。

    • 内容概述

    1.测试环境描述

    2.总结

    • 测试环境

    1.RedHat7.3

    2.CM和CDH版本为5.15

    2.场景描述


    实例场景如下:当前CDH集群供多个业务部门使用,在Yarn中为不同的业务组划分不同的资源池,对应业务组的用户作业需要自动的提交到划分的资源池中。如下图所示:

    通过上图可以看到有Yarn的资源池中创建3个队列:业务组A、业务组B、default。右边有多个业务组的用户,在用户提交作业时需要根据用户所在的也业务组不同自动为用户分配不通的资源池,接下来Fayson通过具体的Yarn动态资源池放置规则的配置进行实现。

    3.测试用户准备


    在配置前Fayson先准备三个测试用户usera、userc和usere,三个用户的组分别为testa、testb、testc。

    1.在CDH集群的所有节点创建testa、testb、testc三个组,testa表示“业务组A”、testb表示“业务组B”、testc不属于任何业务组。

    [root@cdh01 shell]# sh ssh_do_all.sh node.list "groupadd testa"
    [root@cdh01 shell]# sh ssh_do_all.sh node.list "groupadd testb"
    [root@cdh01 shell]# sh ssh_do_all.sh node.list "groupadd testc"

    (可左右滑动)

    2.在集群所有节点创建usera、userc、usere三个用户

    [root@cdh01 shell]# sh ssh_do_all.sh node.list "useradd usera"
    [root@cdh01 shell]# sh ssh_do_all.sh node.list "useradd userc"
    [root@cdh01 shell]# sh ssh_do_all.sh node.list "useradd usere"

    (可左右滑动)

    3.将usera添加groupa组,userc添加groupb组,usere添加groupc组

    sh ssh_do_all.sh node.list "usermod -a -G testa usera"
    sh ssh_do_all.sh node.list "usermod -a -G testb userc"
    sh ssh_do_all.sh node.list "usermod -a -G testc usere"

    (可左右滑动)

    4.验证创建的测试用户是否已添加到对应的业务组中

    4.Yarn动态资源池配置


    根据上述的需求场景,这里需要修改默认Yarn资源池配置,将资源池按照上面的业务组进行创建,在root根资源池下面分别创建testa、testb、default三个资源池。

    1.使用管理员登录CM,进入Yarn动态资源池管理界面

    2.删除默认的资源池配置,将资源池配置为如下

    注意:资源池的名称需要与业务组的名称一致,否则会导致用户不能匹配到相应的资源池。

    5.放置规则设置


    在上一步完成的资源池的配置,并没有进行放置规则的配置,如果使用默认的放置规则,usera、userc、usere用户提交的作业均会被分配到default池,接下来需要进行放置规则的配置。

    1.在Yarn的动态资源池配置界面点击菜单“放置规则”,进入配置界面

    2.将默认的放置规则删除,添加新的放置规则,三条规则分别如下:

    规则一:“root.[pool name]”

    规则二:“root.[secondary group]”

    规则三:“已在运行时指定”,取消勾选“池不存在时创建池”

    3.创建完成后的放置规则顺序如下:

    关于放置规则类型的解释说明:

    root.[pool name]:该规则始终满足,在其它规则不匹配的情况下使用,因此该规则默认要放置在所有匹配规则之后。

    root.[pool name].[username]:该放置规则会判断资源池中是否存在相应的pool name,存在则在该资源池下创建与用户名相同的资源池(勾选池不存在时创建池的情况下)。

    root.[primary group]:该放规则使用与该用户主要组匹配的资源池。Linux中用户默认的主要组与用户名一致,匹配时会通过用户的主要组与资源池名称比对。

    root.[primary group].[username]:该放置规则会优先使用用户的主要组匹配的资源池,然后使用与该用户名匹配的子池,如果勾选池不存在时创建池则会在该池下创建一个与用户名一致的子池。

    root.[secondarygroup]:该放置规则用于匹配用户的次要组,使用与次要组之一匹配的资源池。

    root.[secondarygroup].[username]:该放置规则首先匹配用户的次要组,然后使用与该用户名匹配的资源池。

    root.[username]:该放置规则用于匹配与用户名一致的资源池。(不推荐使用)

    已在运行时指定:该放置规则主要使用在运行时指定的资源池。

    放置规则的判断方式,根据放置规则的顺序1、2、3…进行判断,判断到满足条件的放置规则后,后续的规则不再进行匹配。

    6.验证放置规则


    分别使用usera、userc、usere三个用户向集群提交作业,根据上述规则的设置,usera用户提交的作业回到groupa资源池,userc用户提交的作业会到groupb资源池,userc用户提交的作业会到default资源池。如下为作业提交脚本:

    [root@cdh01 ~]# hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5 

    (可左右滑动)

    1.使用usera向集群提交作业

    2.使用userc向集群提交MR作业

    3.使用usere向集群提交MR作业

    4.在CM和Yarn的8088界面上查看三个用户作业所分配的资源池

    7.总结


    1.通过配置放置规则的方式可以将不同用户或不同业务的作业划分到指定的资源池中,在示例中Fayson使用了Secondary Group放置规则来划分用户作业所属资源池。

    2.在Secondary Group放置规则中,用户除了主要组外其他组均为次要组,都可以走Secondary Group的放置策略。

    转载于:https://www.cnblogs.com/flymin/p/11316127.html

    展开全文
  • 结果是操作完成后(服务器使用的是公司自研的一个虚拟化管理工具),在服务器管理平台并不能识别到新扩充的硬盘容量,后来查资料才知道原来服务器管理磁盘资源是是用来LVM技术,不能像普通Linux主机那样直接扩充硬盘...

            最近在一次部署配置服务器的过程中,部署完成后使用的时候发现磁盘空间不能满足需求需要扩容,于是就在服务器的硬盘位增加了几块硬盘,然后在Linux管理后台,格式化、挂载磁盘、磁盘分区。结果是操作完成后(服务器使用的是公司自研的一个虚拟化管理工具),在服务器管理平台并不能识别到新扩充的硬盘容量,后来查资料才知道原来服务器管理磁盘资源是是用来LVM技术,不能像普通Linux主机那样直接扩充硬盘空间,网上查资料教程也走了不少弯路,下面是我找到的并实践的一篇比较详细的教程,大家遇到类似的问题,可以参考参考。

     

    1 LVM是什么

    1.1 概念解释

    LVM(Logical Volume Manager), 逻辑卷管理, 是一种将一至多个硬盘的分区在逻辑上进行组合, 当成一个大硬盘来使用.

    当硬盘空间不足时, 可以动态地添加其它硬盘的分区到已有的卷组中 —— 磁盘空间的动态管理.

    1.2 为什么用LVM

    LVM通常用于装备大量磁盘的系统, 比如服务器中的磁盘阵列.

    但LVM同样适用于仅有一、两块硬盘的小系统.

    1.2.1 不使用LVM时的扩容思路

    传统的文件系统是基于分区的, 一个文件系统对应一个分区, 这种方式比较直观, 但不易改变:

    (1) 不同的分区相互独立, 单独的文件不能跨分区存储, 容易出现硬盘的利用率不均衡;

    (2) 当一个文件系统/分区装满时, 是不能对其进行扩容的, 只能采用重新分区/建立文件系统, 重新分区会丢失数据, 就要:

    ① 做数据的迁移和备份;

    ② 或者把分区中的数据移到另一个更大的分区中;

    ③ 或者采用符号连接的方式使用其它分区的空间 —— 都非常麻烦;

    (3) 如果要把硬盘上的多个分区合并在一起使用, 只能采用重新分区的方式, —— 需要做好数据的备份与恢复.

    1.2.2 使用LVM时的扩容思路

    使用LVM时技术时, 情况有所不同:

    (1) 硬盘的多个分区由LVM统一管理为卷组, 可以很轻松地加入或移走某个分区 —— 也就是扩大或减小卷组的可用容量, 充分利用硬盘空间;

    (2) 文件系统建立在逻辑卷上, 而逻辑卷可以根据需要改变大小(在卷组容量范围内)以满足要求;

    (3) 文件系统建立在LVM上, 可以跨分区存储访问, 更加方便;

    强烈建议对拥有多个磁盘的系统, 使用LVM管理磁盘.

    1.3 名词解释

    PV(Physical Volume): 物理卷, 处于LVM最底层, 可以是物理硬盘或者分区;

    PP(Physical Extend): 物理区域, PV中可以用于分配的最小存储单元, 可以在创建PV的时候指定, 如1M, 2M, 4M, 8M…..组成同一VG中所有PV的PE大小应该相同;

    VG(Volume Group): 卷组, 建立在PV之上, 可以含有一个到多个PV;

    LV(Logical Volume): 逻辑卷, 建立在VG之上, 相当于原来分区的概念, 不过大小可以动态改变.

    2 普通的挂载磁盘方法

    2.1 创建分区的主要操作

    (1) 查看分区情况 - fdisk -l

    [root@localhost ~]# fdisk -l

    Disk /dev/sda: 299.0 GB, 298999349248 bytes                        # 磁盘/dev/sda
    255 heads, 63 sectors/track, 36351 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x4d69fe0e

    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          26      204800   83  Linux                # 分为2个区, sda1
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              26       36352   291785728   8e  Linux LVM        # sda2

    # 磁盘/dev/sdb没有分区
    Disk /dev/sdb: 4000.0 GB, 3999999721472 bytes
    255 heads, 63 sectors/track, 486305 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

    ......

    (2) 查看已有磁盘 - lsblk

    [root@localhost ~]# lsblk
    NAME                       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda                          8:0    0 278.5G  0 disk
    ├─sda1                       8:1    0   200M  0 part /boot
    └─sda2                       8:2    0 278.3G  0 part
      └─VolGroup-LogVol (dm-0) 253:0    0   1.9T  0 lvm  /                # LVM类型的分区
    sdb                          8:32   0   3.7T  0 disk                 # 还没有分区的新磁盘

    (3) 对新磁盘进行分区 - fdisk /dev/sdb

    [root@localhost ~]# fdisk /dev/sdb
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel with disk identifier 0xf91f8c4c.
    Changes will remain in memory only, until you decide to write them.
    After that, of course, the previous content won't be recoverable.

    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

    WARNING: The size of this disk is 4.0 TB (4000225165312 bytes).
    DOS partition table format can not be used on drives for volumes
    larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
    partition table format (GPT).

    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').

    Command (m for help): n                                # n 表示新建分区
    Command action
       e   extended
       p   primary partition (1-4)
    p                                                                        # p 表示分区类型为主分区, 主分区只有1-4种选择
    Partition number (1-4): 1                        # 主分区的编号
    First cylinder (1-486333, default 1):         # 开始扇区号, 直接回车, 使用默认值1
    Using default value 1

    # 结束扇区号, 使用默认值 --- 这里只加载了新磁盘的一半(2T), 所以还需要再次创建分区/dev/sdb2使用剩下的一半.
    Last cylinder, +cylinders or +size{K,M,G} (1-267349, default 267349):         
    Using default value 267349

    Command (m for help):  w                        #  将上述设置写入分区表并退出
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.

    (4) 再次查看分区情况 - fdisk -l

    多出来一个/dev/sdb1的区, 这个1就是之前主分区之后指定的分区编号.

    [root@localhost ~]# fdisk -l

    Disk /dev/sda: 299.0 GB, 298999349248 bytes
    255 heads, 63 sectors/track, 36351 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x4d69fe0e

    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          26      204800   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              26       36352   291785728   8e  Linux LVM

    # /dev/sdb磁盘:
    Disk /dev/sdb: 4000.0 GB, 3999999721472 bytes
    255 heads, 63 sectors/track, 486305 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x8f3043b5

    # 多出来的分区/dev/sdb1
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1      267349  2147480811   83  Linux

    ......

    (5) 查看当前分区表中的分区信息 - cat /proc/partitions

    [root@localhost ~]# cat /proc/partitions
    major minor  #blocks  name

    8        0   291991552  sda
       8        1      204800  sda1
       8        2   291785728  sda2
       8       32  3906249728  sdb                # 添加的新磁盘
       8       33  2147480811  sdb1                # 创建的新分区
     253        0  2046660608  dm-0

    如果创建完之后,cat /proc/partitions 查看不到对应的分区, 使用 parprobe 刷新命令即可:

    [root@localhost ~]# partprobe /dev/sdc

    2.2 格式化新分区

    (1) 格式化新分区 - mkfs -t

    这里建议将新分区格式化为ext4文件类型, 还有ext2ext3等文件类型, 区别请参考博客 ext2、ext3与ext4的区别 .

    [root@localhost ~]# mkfs -t ext4 /dev/sdb1
    mke2fs 1.41.12 (17-May-2010)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    134217728 inodes, 536870202 blocks
    26843510 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=4294967296
    16384 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
            102400000, 214990848, 512000000

    Writing inode tables:  8874/16384

    (2) 等待一小会后, 将出现下述提示, 说明格式化完成:

    Writing inode tables: done                           
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information:  done

    This filesystem will be automatically checked every 26 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.

    2.3 挂载新分区

    (1) 创建目录, 并将 /dev/sdb1挂在到该目录下:

    [root@localhost /]# mkdir data && cd /data
    [root@localhost data]# mount /dev/sdc1 /data

    (2) 查看挂载是否成功:

    [root@localhost data]# df -l
    Filesystem                   1K-blocks       Used  Available Use% Mounted on
    /dev/mapper/VolGroup-LogVol  286901696   18601728  253726196   7% /
    tmpfs                         66020980          0   66020980   0% /dev/shm
    /dev/sda1                       495844      33476     436768   8% /boot

    # 挂载成功:
    /dev/sdb1                   2113784984     202776 2006208168   1% /data

    2.4 设置开机自动挂载

    编辑文件 /etc/fstab:

    [root@localhost data]# vim /etc/fstab

    # 文件内容如下:
    # /etc/fstab
    # Created by anaconda on Wed Sep 12 10:41:40 2018
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/VolGroup-LogVol  /                     ext4    defaults        1 1
    /dev/sdb1                    /data                 ext4    defaults        1 1
    UUID=22b1d425-d050-43c3-a735-06d48bbb9051 /boot    ext4    defaults        1 2
    tmpfs                        /dev/shm              tmpfs   defaults        0 0
    devpts                       /dev/pts              devpts  gid=5,mode=620  0 0
    sysfs                        /sys                  sysfs   defaults        0 0
    proc                         /proc                 proc    defaults        0 0

    3 LVM方式挂载磁盘 - 推荐

    3.1 查看磁盘容量信息

    [root@localhost ~]# df -h
    Filesystem               Size  Used  Avail  Use%  Mounted on
    /dev/mapper/VG-LogVol    1.9T  1.8T    61G   97%  /                         # LVM卷组-逻辑卷
    tmpfs                     63G     0    63G    0%  /dev/shm
    /dev/sda1                485M   40M   421M    9%  /boot

    3.2 查看磁盘扇区信息

    [root@localhost ~]# fdisk -l

    Disk /dev/sda: 299.0 GB, 298999349248 bytes                        # 磁盘/dev/sda
    255 heads, 63 sectors/track, 36351 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x4d69fe0e

    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          26      204800   83  Linux                # 分为2个区, sda1
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              26       36352   291785728   8e  Linux LVM        # LVM类型的sda2

    # 新添加的磁盘/dev/sdb, 没有分区
    Disk /dev/sdb: 4000.0 GB, 3999999721472 bytes
    255 heads, 63 sectors/track, 486305 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

    # LVM格式的卷组信息:
    Disk /dev/mapper/VolGroup-LogVol: 4294 MB, 4294967296 bytes
    255 heads, 63 sectors/track, 522 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

    3.3 创建分区

    [root@localhost ~]# fdisk /dev/sdb
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel with disk identifier 0x5b3d66ba.
    Changes will remain in memory only, until you decide to write them.
    After that, of course, the previous content won't be recoverable.

    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

    WARNING: The size of this disk is 4.0 TB (3999999721472 bytes).
    DOS partition table format can not be used on drives for volumes
    larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
    partition table format (GPT).

    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').

    Command (m for help): n                        # 添加分区
    Command action
       e   extended
       p   primary partition (1-4)
    p                                                                # 添加主分区
    Partition number (1-4): 1                # 1号主分区, 即/dev/sdb1
    First cylinder (1-486305, default 1):              
    Using default value 1
    Last cylinder, +cylinders or +size{K,M,G} (1-267349, default 267349): 486305
    Value out of range.
    Last cylinder, +cylinders or +size{K,M,G} (1-267349, default 267349):
    Using default value 267349

    Command (m for help): n                        # 继续添加分区
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 2                # 2号主分区, 即/dev/sdc2
    First cylinder (267350-486305, default 267350):
    Using default value 267350
    Last cylinder, +cylinders or +size{K,M,G} (267350-486305, default 486305):
    Using default value 486305

    Command (m for help): p                        # 打印分区信息:

    Disk /dev/sdb: 4000.0 GB, 3999999721472 bytes
    255 heads, 63 sectors/track, 486305 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x5b3d66ba

    Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1      267349  2147480811   83  Linux
    /dev/sdb2          267350      486305  1758764070   83  Linux

    Command (m for help): t                        # 转换类型
    Partition number (1-4): 1
    Partition number (1-4): 1                        # 修改/dev/sdb1为Linux LVM类型:
    Hex code (type L to list codes): L         # 查看可用类型:

    0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris       
     1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
     2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
     3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
     4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx        
     5  Extended        42  SFS             86  NTFS volume set da  Non-FS data   
     6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
     7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility  
     8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt        
     9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access    
     a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O       
     b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor     
     c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs       
     e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT           
     f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
    10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
    11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor     
    12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor     
    14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary 
    16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS   
    17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
    18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
    1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep       
    1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT           
    1e  Hidden W95 FAT1
    Hex code (type L to list codes): 8e                # 修改为8e, 即Linux LVM类型
    Changed system type of partition 1 to 8e (Linux LVM)

    Command (m for help): t
    Partition number (1-4): 2                                # 修改/dev/sdc2为Linux LVM类型
    Hex code (type L to list codes): 8e
    Changed system type of partition 2 to 8e (Linux LVM)

    Command (m for help): p                                        # 再次查看相关信息:

    Disk /dev/sdc: 4000.0 GB, 3999999721472 bytes
    255 heads, 63 sectors/track, 486305 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x5b3d66ba

    Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1               1      267349  2147480811   8e  Linux LVM        # Id已改变
    /dev/sdb2          267350      486305  1758764070   8e  Linux LVM

    Command (m for help): w                                        # 保存并退出
    The partition table has been altered!         # 修改成功

    Calling ioctl() to re-read partition table.
    Syncing disks.

    3.4 创建物理卷

    [root@localhost ~]# pvcreate /dev/sdb1
      Physical volume "/dev/sdb1" successfully created
    [root@localhost ~]# pvcreate /dev/sdb2
      Physical volume "/dev/sdb2" successfully created

    3.5 扩展卷组

    # 查看已有卷组, 发现该卷组就是需要扩容的卷组, 就不必再次创建卷组, 而是直接扩展卷组即可:
    [root@localhost ~]# vgs
      VG       #PV #LV #SN Attr   VSize VFree
      VolGroup   2   2   0 wz--n- 1.91t    0

    # 扩展卷组:
    [root@localhost ~]# vgextend VolGroup /dev/sdb1
      Volume group "VolGroup" successfully extended
    [root@localhost ~]# vgextend VolGroup /dev/sdb2
      Volume group "VolGroup" successfully extended

    说明: 如果出现下述无法挂载物理磁盘到卷组中的信息, 说明这块物理磁盘已经挂载了, 需要先卸载, 然后再执行创建分区+卷组的操作:

    [root@localhost /]# vgextend VolGroup /dev/sdb1
      No physical volume label read from /dev/sdb1
      Physical volume /dev/sdb1 not found
      Can't open /dev/sdb1 exclusively.  Mounted filesystem?
      Unable to add physical volume '/dev/sdb1' to volume group 'VolGroup'.

    3.6 扩展逻辑卷

    # 扩展逻辑卷, 即扩容:
    [root@localhost ~]# lvextend -l +100%FREE /dev/mapper/VolGroup-LogVol
      Extending logical volume lv_root to 5.54 TiB
      Logical volume lv_root successfully resized

    # 上述命令是将所有的空闲空间都扩容到逻辑卷中, 也可指定扩容的大小:
    lvextend -l +100G /dev/mapper/VolGroup-LogVol

    3.7 查看磁盘卷组信息

    [root@localhost ~]# lsblk
    NAME                        MAJ:MIN RM   SIZE RO  TYPE  MOUNTPOINT
    sda                           8:0    0 278.5G  0  disk 
    ├─sda1                        8:1    0   500M  0  part  /boot
    └─sda2                        8:2    0   278G  0  part 
      ├─VolGroup-LogVol (dm-0)  253:0    0   5.6T  0  lvm   /
    sdb                           8:16   0   1.6T  0  disk 
    └─sdb1                        8:17   0   1.6T  0  part 
      └─VolGroup-LogVol (dm-0)  253:0    0   5.6T  0  lvm   /
    sdc                           8:32   0   3.7T  0  disk 
    ├─sdc1                        8:33   0     2T  0  part 
    │ └─VolGroup-LogVol (dm-0)  253:0    0   5.6T  0  lvm   /
    └─sdc2                        8:34   0   1.7T  0  part 
      └─VolGroup-LogVol (dm-0)  253:0    0   5.6T  0  lvm   /

    3.8 调整文件系统的大小

    # CentOS 7重新读取磁盘大小:
    [root@localhost ~]# xfs_growfs /dev/mapper/VolGroup-LogVol
    xfs_growfs: /dev/mapper/VolGroup-LogVol is not a mounted XFS filesystem

    # CentOS 6.5重新读取磁盘大小:
    # ext4格式, resize2fs会遍历整个磁盘, 速度比较慢, 但是不影响读写数据, 可以令其在后台运行.
    [root@localhost ~]# resize2fs /dev/mapper/VolGroup-LogVol
    resize2fs 1.41.12 (17-May-2010)
    Filesystem at /dev/mapper/VolGroup-LogVol is mounted on /; on-line resizing required
    old desc_blocks = 122, new_desc_blocks = 355
    Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 1487098880 (4k) blocks.

    # 等了差不多20分钟, 出来了下面这货:
     The filesystem on /dev/mapper/VolGroup-LogVol is now 1487098880 blocks long.

     
    #
    赶紧看下扩容成果吧:
    [root@localhost ~]#   df -h
    Filesystem                    Size  Used Avail Use%  Mounted on
    /dev/mapper/VolGroup-LogVol   5.5T  1.8T  3.5T  34%  /                        #
    扩容成功
    tmpfs                          63G     0   63G   0%  /dev/shm
    /dev/sda1                     485M   40M  421M   9%  /boot

    3.9 附录 - 创建卷组

    对应 [3.5] 节的扩展卷组, 如果卷组不存在, 则需要创建之. 下述VolGroup是卷组名称.

    vgcreate VolGroup /dev/sdb1
    # 创建逻辑卷, 名称为: mylv. (操作系统中将产生: /dev/VolGroup/mylv目录)
    # 将当前卷组中的100G空间分配到逻辑卷中
    lvcreate -L 100G VolGroup -n mylv
    # 或将当前卷组中的所有空闲空间全都分配到逻辑卷中
    lvcreate -l +100%FREE VolGroup -n mylv

    # 格式化逻辑卷组:
    mkfs -t ext4 /dev/VolGroup/mylv

    # 挂载卷组到指定目录下, 如果是挂载到根目录, 则无需向/etc/fstab文件中添加启动项.
    mount -t ext4 /dev/VolGroup/mylv /data

    参考资料

    Linux的LVM详解

    ext2、ext3与ext4的区别

    Linux 下挂载硬盘的方法

    linux磁盘管理、新增磁盘、分区、挂载

    展开全文
  • 如果想在linux中随需求变化动态调整硬盘分区大小,可能会有些限制,这时需要用一个目前比较流行的硬盘设备资源管理技术(LVM),即逻辑卷管理器,它允许用户硬盘资源进行动态调整。LVMLVM技术是在硬盘分区和文件系统...

    如果想在linux中随需求变化动态调整硬盘分区大小,可能会有些限制,这时需要用一个目前比较流行的硬盘设备资源管理技术(LVM),即逻辑卷管理器,它允许用户对硬盘资源进行动态调整。

    592b66992d16e6db3082697accfc608b.png

    LVM

    LVM技术是在硬盘分区和文件系统之间加了一个逻辑层,提供一个抽象的卷组,能够把多个硬盘设备进行卷组合并。对于普通用户来讲,他不关心底层有多少个物理硬盘,只要有空间,就能对硬盘分区动态调整。

    有个例子非常形象:你在家做馒头,先准备一些面粉(可以理解为物理卷),然后加水揉成大面团(可以理解卷组),然后再把面团分成小馒头(可以理解为逻辑卷)。

    物理卷处于LVM最底层,可以理解物理硬盘、分区、阵列都可以,卷组建立在物理卷之上,一个卷组可以包含多个物理卷,当然卷组创建之后还是可以继续添加新的物理卷。逻辑卷是在空闲的卷组中建立的,并且建立后可以动态的扩展。

    第一步:创建物理卷

    在虚拟机中新增2个硬盘,再重启虚拟机。这步操作简单理解就是让硬盘设备支持LVM技术。

    首先看到系统已经识别出2个新增硬盘:

    aa3f4529abd2df60e295274d168e5d5c.png
    使用命令:pvcreate /dev/sdb /dev/sdc
    dd06f2deacc8242404b36e677aae4cc5.png

    第二步:创建卷组

    使用命令 vgcreate mystorage /dev/sdb /dev/sdc ##卷组名字自己起,这里叫mystorage
    2b684bb866e6e0927e3832e71cc27f88.png

    可以使用命令 vgdisplay查看卷组状态。

    第三步:切割逻辑卷

    逻辑卷有两种计量单位,一种是容量为单位,使用参数为-L。例如,使用-L 300M生成一个大小为300M的逻辑卷。一种以基本单元为个数为单位,使用参数为-l。每个基本单元大小默认为4MB。例如 -l 100 可以生成 100*4 = 400MB的逻辑卷。

    现在就做一个400MB的逻辑卷

    使用命令

    lvcreate -n myvo -l 100 mystorage
    3d0510d251c630278573771806c004c8.png

    第四步:挂载

    linux系统会把LVM中逻辑卷设备存放在/dev目录中,按照上述起的名字建立目录,上述目录为 /dev/mystorage/myvo。

    格式化

    mkfs.ext4 /dev/mystorage/myvomount /dev/mystorage/myvo /mydata
    9551e50aed80e1901330f24f3fc5e052.png
    a9b7de2f487c7e19a4b60549dbb467bc.png

    最后可以写到配置文件/etc/fstab中永久生效。

    echo "/dev/mystorage/myvo /mydata ext4 defaults 0 0" >> /etc/fstab

    扩容逻辑卷

    前面实验的卷组是两个硬盘构成,而且只用了400M,只要卷组足够,就可以一直动态扩容,但是注意,扩容前需要卸载设备。

    第一步:

    umount /mydatalvextend -L 1000M /dev/mystorage/myvo
    e1db7fcd7bf9c7af5538650fb6754bff.png

    第二步:检查硬盘完整性,并重置容量

     e2fsck -f /dev/mystorage/myvo resize2fs /dev/mystorage/myvo

    第三步:重新挂载

    mount /dev/mystorage/myvo /mydatadf -h ## 查看最终状态
    1d30aa70b013b2028a08d72e1435b2fd.png

    删除LVM

    如果想重新部署LVM或者不再使用LVM,则需要执行LVM删除操作。严格执行删除顺序,

    先删除逻辑卷、卷组、物理卷。

    第一步:取消挂载,并删除配置文件中的有关设备参数

    umount /mydatavi /etc/fstab

    第二步:删除逻辑卷

     lvremove /dev/mystorage/myvo

    第二步:删除卷组

    vgremove mystorage # 此处不用写路径,只写名字

    第三步:删除物理卷

    pvremove /dev/sdb /dev/sdc
    6ad5ffa6f047448990fd51c8c54b10b0.png

    最后成功删除LVM。

    展开全文
  • 资源管理

    2019-04-05 18:19:31
    对资源的定义:能以某一方式获得到资源,并保证在不需要的时候释放掉资源。 我们可以使用的资源有哪些呢? 1、动态内存,这里我们需要进行管理的内存也仅是在堆中获取的动态内存,局部和静态内存压根就不需要我们...
  • docker简介 ...服务器资源池通过docker进行统一管理,按需分配资源和创建容器,达到资源最大化利用。同时保证各业务(容器)之间的隔离。并可支持项目的在线部署。 本项目模拟实现以上场景,代码不完全严
  • 因此对象的资源依旧存在,只是内存的空间进行申请,释放的。所以C++有自己的内存管理——new,delete。从而申请释放空间。 申请的地址空间(new,malloc申请那样)就在堆那里。 局部变量就在栈那里。 局部变量...
  • 四.拷贝类型的资源 ...这样情况,我们就需要在拷贝构造函数,以及拷贝赋值函数里面源地址的内容(对象)进行拷贝。而在析构函数里面要释放自身所占有的资源。 template class res_ptr { public: typedef res_p
  • 筛选后的资源再进行动态加权负载评估,负载过重及长期不可用资源进行迁移、释放等,可减少能耗,实现负载均衡和提高系统利用率.设计了仿真实验,以验证所提评估模型的性能.实验结果表明,熵优化模型用户QoS和系统...
  • 复杂地质构造矿井进行煤炭资源储量动态检测管理工作难度大,环节多,平煤股份十三矿在多次的资源储量管理工作中,通过各种有效途径来提高矿井各采区资源回收率,准确掌握矿产资源储量的动态变化,大力推行矿产储量科学化...
  • 针对矿产资源储量管理中动态监管难度大、数据质量低的问题,根据储量管理部门矿山日常勘探与开发工作的监管需求,设计开发了固体矿产资源储量三维动态管理系统。介绍了系统定位、系统功能和系统体系结构,以三维...
  • 采用C/S体系结构,研究开发了符合煤矿资源储量管理工作需求的应用软件,实现煤炭资源储量基础数据管理、动态报表生成、报表远程以及资源储量相关图形的实时双向动态管理。在进行数据库设计时,充分考虑到数据库的合理性...
  • 建立业务对象的元模型,并封装成为业务对象操作的应用程序接口,从而实现不同专业的综合网络资源以及动态创建、调整或升级的设备进行有效管理,满足极其复杂的综合网络资源进行管理的需求。
  • 随着天基信息网络范围和空间的不断拓展,网络感知能力的不断增强,...主要针对如何实现资源的高效管理天基资源网络的管理对象进行细粒度、多维度分析,进一步提出动态天基资源虚拟化、调度方法与协同管理的设计。
  • 在基于角色的访问控制模型(RBAC)基础上,引入访问终端、网络环境和接入方式等外部因素,提出了基于角色的多约束动态权限管理模型,依据外部因素的安全程度和资源可能带来安全风险分别外部因素和资源进行量化,...
  • 为降低微控制器(MCU)应用系统的功耗,节省硬件资源,提出了一种新型的动态电源管理方法。该动态电源管理方法在支持内部软件控制MCU系统内部电源域的基础上,扩展支持了外部设备MCU系统内部电源域的控制;外部...
  • vue后台管理动态加载路由

    万次阅读 热门讨论 2018-08-08 18:52:15
    我们的通用的后台管理系统中,我们会根据权限的粗细不同,会每个角色每个权限每个资源进行控制。同样的我们也需要实现一个这样的功能。 这篇文章我将主要讲vue端的实现,关于后台接口我就不会涉及,当我接触的时候...
  • CDH动态资源池配置(1)

    千次阅读 2019-03-05 19:04:24
    3.动态资源池配置 root列配置 子队列配置 大家根据自己集群队列设置用户权限 添加队列用户限制后,Yarn 8088界面任务会出现没有权限访问,需要进行设置 hdfs 配置文件加上 hadoop.http.stat...
  • 实现了集团各矿区、矿业公司煤炭储童动态管理, 为神华集团范围内实现资源管理的信息化, 规范化莫定了良好的基础. 本文基于“ 神华集团煤炭资源管理信.息系统” 项目工作, 系统开发的主要内容、关健技术等方面进行...
  • 人力资源管理软件(完全免费)

    热门讨论 2011-03-08 11:36:20
    人力资源管理软件单据设计模块进行了优化 针对98环境做了优化(感谢中秋月) 2008-03-25 人力资源管理软件发布1.4版本,做了以下改进 人力资源管理软件员工资料增加了辅助分组(感谢中秋月,天隼) 保险基数支持...
  • iHR人力资源管理系统

    千次阅读 2009-05-14 13:50:00
    iHR人力资源管理系统是班库(上海)咨询有限公司基于专业的人力资源管理及咨询实践工作基础上,... iHR主要功能功能1、组织战略管理组织战略管理功能能够实现公司的战略远景和发展目标进行动态管理,根据公司实际
  • 在前面的讲解中,我们分别对动态用户、动态权限的实现做了相关介绍。可能大家在看的过程中,会发现一个问题:目前都是通过注解控制权限的...接下来,就如何进行资源权限动态控制进行讲解,要实现的目标为:Java程序...
  • 企业项目投标的要求,开发适应建筑企业应用的《建筑企业资源管理系 统》,通过计算机系统,有效地控制整合和管理公司所有与项目相关的资源信 息,建立公司的资源管理库,包含企业的资质、证件、奖项、业绩,人员的...
  • 分析了自适应实时资源管理面临的问题,研究了自适应实时资源管理的构造和常用模式,并指出其不足,最后提出一种基于控制论的实时资源管理模式,对动态实时系统进行自适应实时资源管理。通过建立抽象的实时资源装置,...
  • 我们的通用的后台管理系统中,我们会根据权限的粗细不同,会每个角色每个权限每个资源进行控制。同样的我们也需要实现一个这样的功能。 这篇文章我将主要讲vue端的实现,关于后台接口我就不会涉及,当我接触的时候...
  • 该模型对资源管理的最大计算复杂度为O(n2)~O(n3),是一个优化而有效的网格资源管理模型。 关键词:计算网格 资源管理 资源分配 作业 资源调度 Globus Toolkit计算网格是近年兴起的一种重要的并行分布式计算技术,其...
  • 寻找理想的智能指针-C++资源管理综述 摘要C++中的资源...C的时代 C语言中用指针来表示对资源的引用这里的资源包括动态内存堆内存 及同步对象文件对象等由操作系统抽象出来的对象有的操作系统中用句柄 handle^表示对这类
  • 关于公司人力资源管理现状的调查报告 为公司人力资源工作情况和一线员工的思想动态情况进行掌握了解,进而为人力资源规划发展提供方向和实际解决一线生产中的人员流动问题,公司人力资源部门特在20XX年3月7日到3月...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,527
精华内容 610
关键字:

对资源进行动态管理