VMware Workstation 安装配置 CentOS 7.9

安装VMware并修改网络设置

安装VMware Workstation的过程就不详细介绍了,网上很多教程。

安装过程参考如下文档:

新手教程 | 2024年最新Vmware17安装教程及许可证(详细图文)

安装完毕后,VMware软件会创建虚拟网卡并分配私有IP地址段,如果想修改默认VMware的网络设置,可以对VMware的“虚拟网络编辑器(N)”进行修改,下面以VMnet8 NAT模式网卡为例说明。

a82fbfbd20bb4dabad131728df5ced00.png

可以对VMnet8 NAT模式进行编辑修改,例如修改子网网段和DHCP分配地址段:

d039b7647b2a4bb0a9e455a00c6f366f.png

更改设置,可以修改默认的子网网段等配置:

8736439b52974d25a766aa333805dd97.png

一般情况下,VMnet8网段分配是:

宿主机的IP是1,例如:192.168.152.1,如下是Windows宿主机的ipconfig命令看到的VMnet8网卡的IP地址:

3a48483f8f924e8cb99fa7875188e97b.png

网关的IP地址是2,例如:192.168.152.2,如下是VMware的NAT网络配置:

8c593283c4d2479d9606f25015b6a0fa.png

3 - 254的地址分配给创建的虚拟机使用,例如:192.168.152.12,如下是VMware DHCP的配置,地址段区间是128 - 254,如果你的虚拟机想配置静态的IP,可以使用3 - 127这个地址段:

12d6934bf8404478be93ec74d1db0136.png

下面是Linux虚拟机的网卡配置文件静态IP地址设置的内容:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static                          # 修改为静态地址
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b15a3378-723e-4c40-a80d-91418c055a6c
DEVICE=ens33
ONBOOT=yes                                 # 修改为yes
IPADDR=192.168.152.12                      # 修改为自己规划的IP地址
NETMASK=255.255.255.0
GATEWAY=192.168.152.2                      # 修改为自己规划的网关地址
DNS1=8.8.8.8
DNS2=114.114.114.114

知道掌握这些信息,对虚拟机设置静态IP和一下网络服务的通信是很有帮助的。

创建Linux虚拟机

根据需要和宿主机配置规划虚拟机的配置与数量。

如:vcpu数量,核数,内存,磁盘容量。

需要说明的是,虚拟机的vcpu和内存即使创建的时候不合理也可以后期随时动态调整,但磁盘容量大小,建议考虑清楚后设置合理的大小,例如:Linux系统的盘容量大小,如果安装Oracle或其它对磁盘空间要求较大的软件,建议创建另外的磁盘,并使用LVM管理,方便后期磁盘容量的扩容等。

创建虚拟机的过程不赘述了,可以参考如下文档:

VMware Workstation Pro 17安装Centos 7 安装虚拟机及简单配置

安装CentOS 7.9

虽然CentOS 7.9官方不再支持了,但还有很多用户在用或搭建学习和测试环境,所以学习这个版本暂未完全过时。

安装前,建议进行一个简单的规划,将Linux的主机名和IP地址,用户名、密码,磁盘存储容量和数据或文件挂载点等等。

需要注意的是,安装过程中到磁盘管理部分了,建议选择使用LVM管理磁盘,方便后期容量的扩容和管理,毕竟LVM更灵活、功能更强大。

安装步骤,可以参考如下文章:

VMware Workstation 虚拟机学习 安装centos7.9

配置CentOS网络

安装好CentOS后,如果不想使用VMware DHCP的IP地址,可以自己设置一个静态IP,使用的地址段范围,参考前文的内容。

配置静态IP地址:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static                          # 修改为静态地址
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b15a3378-723e-4c40-a80d-91418c055a6c
DEVICE=ens33
ONBOOT=yes                                 # 修改为yes
IPADDR=192.168.152.12                      # 修改为自己规划的IP地址
NETMASK=255.255.255.0
GATEWAY=192.168.152.2                      # 修改为自己规划的网关地址
DNS1=8.8.8.8
DNS2=114.114.114.114

修改为静态地址后重启网络服务:

/etc/init.d/network restart

设置Linux系统的主机名为oradb:

hostnamectl set-hostname oradb

编辑/etc/hosts文件内容:

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.152.12 oradb     # 例如:主机名是oradb,ip是之前配置的静态ip地址

 设置Linux的时区和日期时间

正常情况下时区和日期都是跟随宿主机的,有时候时区不正确,导致Linux系统时间不对,需要检查系统的时区设置和时间设置。

查看和设置时区:

# 查看系统时间和时区信息
timedatectl

# 设置系统时区为Asia/Shanghai
timedatectl set-timezone Asia/Shanghai

查看和设置系统时间:

# 查看系统时间信息
timedatectl

# 设置系统时间
timedatectl set-time "YYYY-MM-DD HH:MM:SS"

配置国内YUM源

配置yum方法一

以阿里开源镜像站为例,其它国内镜像,可以参考镜像网站官方说明。

阿里云开源地址:

阿里巴巴开源镜像站​​​​​​

repo安装包下载_开源镜像站-阿里云

首先,备份/etc/yum.repos.d/目录下的默认repo文件:

cd /etc/yum.repos.d/
mkdir backup
mv *.repo ./backup/

下载base源配置,如果没有wget命令,可以使用方法二,或后面配置本地yum,从本地iso文件中先安装wget后再下载repo文件:

wget -O /etc/yum.repos.d/Centos-7.repo https://mirrors.aliyun.com/repo/Centos-7.repo

文件/etc/yum.repos.d/Centos-7.repo内容:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

下载epel源配置: 

wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

文件/etc/yum.repos.d/epel-7.repo内容:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
 
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0
 
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0

清除yum缓存,并更新为新资源的缓存:

yum clean all && yum makecache

更新操作系统到最新补丁集:

yum update

 配置yum方法二

如果还没有wget命令安装,可以使用脚本设置yum源,编辑文件yum-install.sh:

# base yum

cat <<EOF > /etc/yum.repos.d/base.repo
[base]
name=base
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=0

[epel]
name=epel
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
gpgcheck=0

[update]
name=update
baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
gpgcheck=0
EOF

# docker-ce yum

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# k8s yum

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[k8s]
name=k8s
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

# epel yum

cat <<EOF > /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
 
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0
 
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0
EOF

# yum update

yum clean all && yum makecache fast

然后执行这个脚本:

sh ./yum-install.sh

更新操作系统到最新补丁集:

yum update

 本地yum源设置

有时候无法连接互联网,手头有.iso文件,可以配置本地的光盘镜像yum源,用于常用软件的安装。

# 首先用VMware编辑虚拟机光驱,选择挂载CentOS 7的iso光盘,然后在linux中挂载到/mnt
mount /dev/cdrom /mnt

# 编辑/etc/yum.repo.d/local.repo
[local]
name=CentOS-7 - Local Repo
baseurl=file:///mnt/
enabled=1
gpgcheck=0

# 更新yum缓存
yum clean all && yum makecache

就可以正常用yum安装软件了。 

外网下载rpm包复制到内网安装

外网机下载软件包:

mkdir /software/rpms
yum install --downloadonly --downloaddir=/software/rpms package-name

内外机安装软件包:

# 将下载的RPM包复制到离线服务器/software/rpms目录中。
cd /software/rpms
yum localinstall *.rpm

安装必要的管理软件和工具

根据自己的需求,安装软件包和运维工具,例如:

yum install -y tree sysstat net-tools yum-utils bridge-utils bind-utils psmisc vim wget curl xeye readline readline-devel autoconf jq

关闭SELinux

SELinux增强了Linux的安全性,但有时候会导致软件运行的各种问题,建议关闭它。

SELinux有3中模式:

  • enforcing:强制模式,SELinux 正在运行中,已经在限制 domain/type。
  • permissive:宽容模式:SELinux 正在运行中,但仅发出警告信息,并不会实际限制 domain/type 的存取(permissive模式可以用在测试环境中供调试规则时使用)。
  • disabled:关闭,SELinux 不再运行。
# 查看配置情况
getenforce

# 临时关闭
setenforce 0

# 永久关闭,重启生效
vi /etc/selinux/config
SELINUX=disabled

# 可以查看selinux的详情状态信息
sestatus

关闭防火墙

跟SELinux同样的原因,建议关闭防火墙服务: 

# 临时关闭防火墙
systemctl stop firewalld

# 永久关闭防火墙(必须先临时关闭防火墙,再执行该命令,才能行永久关闭)
systemctl disable firewalld

# 查看防火墙状态
systemctl status firewalld

# 查看防火墙规则是否全部清除
iptables -L

升级Linux内核

CentOS 7.9的内核版本较低,建议进行Linux的内核版本升级,4.0以上,5或6更好。 

下载Linux内核

可用的CentOS 7 内下载地址:

CentOS 7 Kernel

安装并配置新Linux内核

# 安装内核包 (kernel)
rpm -ivh kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
# 安装内核开发包 (kernel-devel)
rpm -ivh kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm
# 安装内核头文件包 (kernel-headers)
rpm -ivh kernel-lt-headers-5.4.278-1.el7.elrepo.x86_64.rpm


# 查看默认启动顺序
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-a66a00f1a66a00f1a66a00f1a66a00f1) 7 (Core)

# 使用grub2-set-default命令设置默认启动内核
grub2-set-default 0

# 重启系统
reboot

# 验证内核版本
uname -r
# 5.4.278-1.el7.elrepo.x86_64

设置Linux存储空间(进阶知识)

虚拟机的存储空间管理也是基本知识和技能。 

磁盘与分区管理

磁盘与分区管理的工具主要有lsblk、fdisk、gdisk和较新的parted,下面分别介绍。 

lsblk 命令主要用于列出Linux系统中的块设备信息。它会显示设备名称、所属类型(如磁盘、分区等)、大小以及是否已挂载等信息。通过 lsblk 命令,你可以快速了解系统当前的存储设备布局情况:

lsblk

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   20G  0 disk  
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   19G  0 part 
  └─vg0-lv0 253:0    0    8G  0 lvm  /
sdb           8:16   0   30G  0 disk 

fdisk 命令是传统早期Linux系统的磁盘分区操作命令。 它可以用来查看磁盘的分区信息,就像我们刚才说的“fdisk -l”。 还可以使用它对磁盘进行分区的创建、删除、修改等操作。 比如,你可以用它来创建一个新的分区,指定分区的起始位置和大小等。 在进行分区操作时要特别小心,因为错误的操作可能会导致数据丢失。 它是一个比较底层但很常用的磁盘管理工具,在很多场景下都需要用到它来对磁盘进行灵活的分区规划和管理。

使用fdisk -l查看磁盘分区情况:

fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 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

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
/dev/sda2              65        1300    10747392   8e  Linux LVM
/dev/sda3            1301       60801   474769408   83  Linux

由于fdisk命令不能很好的支持GPT分区;而MBR分区不支持大于2T的分区,对于超过2T的硬盘分区来说只能使用GPT分区,所以就要使用gdisk命令;gdisk也可以处理MBR分区的硬盘,甭管硬盘多大,都可以分区。

[root@oradb ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************


Warning! Secondary partition table overlaps the last partition by
33 blocks!
You will need to delete this partition or resize it in another utility.

Command (? for help): h
b       back up GPT data to a file
c       change a partition's name
d       delete a partition
i       show detailed information on a partition
l       list known partition types
n       add a new partition
o       create a new empty GUID partition table (GPT)
p       print the partition table
q       quit without saving changes
r       recovery and transformation options (experts only)
s       sort partitions
t       change a partition's type code
v       verify disk
w       write table to disk and exit
x       extra functionality (experts only)
?       print this menu

Command (? for help): p
Disk /dev/sda: 83886080 sectors, 40.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 1C57D79D-4CC1-46AA-A42D-D8FFE1C3605E
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         2099199   1024.0 MiB  8300  Linux filesystem
   2         2099200        83886079   39.0 GiB    8E00  Linux LVM

Command (? for help): l
0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE
3000 ONIE boot             3001 ONIE config           4100 PowerPC PReP boot
4200 Windows LDM data      4201 Windows LDM metadata  7501 IBM GPFS
7f00 ChromeOS kernel       7f01 ChromeOS root         7f02 ChromeOS reserved
8200 Linux swap            8300 Linux filesystem      8301 Linux reserved
8302 Linux /home           8400 Intel Rapid Start     8e00 Linux LVM
a500 FreeBSD disklabel     a501 FreeBSD boot          a502 FreeBSD swap
a503 FreeBSD UFS           a504 FreeBSD ZFS           a505 FreeBSD Vinum/RAID
a580 Midnight BSD data     a581 Midnight BSD boot     a582 Midnight BSD swap
a583 Midnight BSD UFS      a584 Midnight BSD ZFS      a585 Midnight BSD Vinum
a800 Apple UFS             a901 NetBSD swap           a902 NetBSD FFS
a903 NetBSD LFS            a904 NetBSD concatenated   a905 NetBSD encrypted
a906 NetBSD RAID           ab00 Apple boot            af00 Apple HFS/HFS+
af01 Apple RAID            af02 Apple RAID offline    af03 Apple label
af04 AppleTV recovery      af05 Apple Core Storage    be00 Solaris boot
bf00 Solaris root          bf01 Solaris /usr & Mac Z  bf02 Solaris swap
bf03 Solaris backup        bf04 Solaris /var          bf05 Solaris /home
bf06 Solaris alternate se  bf07 Solaris Reserved 1    bf08 Solaris Reserved 2
bf09 Solaris Reserved 3    bf0a Solaris Reserved 4    bf0b Solaris Reserved 5
c001 HP-UX data            c002 HP-UX service         ea00 Freedesktop $BOOT
eb00 Haiku BFS             ed00 Sony system partitio  ed01 Lenovo system partit
Press the <Enter> key to see more codes:
ef00 EFI System            ef01 MBR partition scheme  ef02 BIOS boot partition
fb00 VMWare VMFS           fb01 VMWare reserved       fc00 VMWare kcore crash p
fd00 Linux RAID

Command (? for help): q
[root@oradb ~]#

parted 也是一个磁盘分区工具,功能更强大,支持GPT分区。

注意:fdisk和gdisk编辑完后,不使用w写入不生效,写入前可以后悔,而parted的编辑是即时生效的。

parted操作可以使用两种模式:命令模式交互模式

命令模式:

以下是对 parted 命令的一些常见用法详解:

查看磁盘信息:parted /dev/sda print ,可以显示指定磁盘的分区信息。

创建分区: parted /dev/sda mkpart primary 0% 50% ,创建一个主分区,从磁盘起始位置到 50%的位置。

删除分区: parted /dev/sda rm 1 ,删除指定的分区(这里的 1 是分区号)。

设置分区标志:比如设置分区为启动分区等。

调整分区大小:这需要一些特定的操作步骤。

在使用 parted 命令时,要谨慎操作,确保对分区的操作符合你的需求,避免误操作导致数据丢失。

交互模式:

当你直接输入“parted”命令而不指定磁盘设备时,就会进入 parted 的交互模式。 进入后,它会显示一些基本信息和提示。 你可以在交互模式中输入各种命令来进行操作,比如使用“print”命令查看当前磁盘的分区情况;使用“mkpart”来创建分区;“rm”来删除分区等,就和前面说的那些操作类似。 你还可以随时输入“help”来获取可用命令的列表和详细说明。 在交互模式中,你可以更加灵活地进行一系列分区相关的操作和探索。

[root@oradb ~]# parted
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions,
        or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END

  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted

(parted) quit
[root@oradb ~]#


# 在/dev/sdb 磁盘上创建了一个从起始位置到 30%位置的主分区。
[root@oradb ~]# parted

(parted) select /dev/sdb
Using /dev/sdb

(parted) mkpart primary 0% 30%

(parted) print
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start   End     Size    File system  Name  Flags
 1      1049kB  6554MB  6553MB  ext4         primary

(parted) quit
[root@oradb ~]#

逻辑卷管理LVM

LVM(Logical Volume Manager)逻辑卷管理是 Linux 中的一种磁盘管理机制。 它的好处有很多呢,比如可以更灵活地管理磁盘空间。可以动态地扩展或缩小逻辑卷的大小,而不需要提前规划好固定的分区大小。 它还能方便地进行磁盘空间的重新分配,比如把一个逻辑卷的多余空间分配给另一个逻辑卷。 在创建逻辑卷时,可以指定一些参数,如条带化来提高性能。 使用 LVM 时,主要涉及到物理卷(PV)、卷组(VG)和逻辑卷(LV)这几个概念。物理卷就是实际的磁盘或磁盘分区;多个物理卷可以组成一个卷组;而逻辑卷则是从卷组中划分出来的可用于挂载使用的空间。

CSDN有很多优秀的教程可供参考。

参考文章: 

逻辑卷(LVM)管理_lvm命令-CSDN博客

在 LVM(Logical Volume Manager,逻辑卷管理)中,逻辑卷(Logical Volume)会与设备映射器(Device Mapper)中的映射设备相对应。 当创建 LVM 逻辑卷后,系统会在 /dev/mapper 目录下创建一个对应的映射设备,其名称通常是类似“vg_name-lv_name”的形式,这里的“vg_name”是卷组名称,“lv_name”是逻辑卷名称。通过这个映射设备,就可以像访问普通块设备一样对逻辑卷进行操作。例如如下的信息是vgdisplay和/etc/fstab,以及df命令显示的vg-lv-fs之间的关系:

[root@oradb ~]# vgdisplay -v
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <39.00 GiB
  PE Size               4.00 MiB
  Total PE              9983
  Alloc PE / Size       9983 / <39.00 GiB
  Free  PE / Size       0 / 0
  VG UUID               gyPuqY-GtOS-A3Ga-FNLu-sZ70-dTfS-mG3wIy

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                4v3HYe-nTQj-qasB-MIFq-mxoT-6PNY-poLOUv
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-05-09 22:59:02 +0800
  LV Status              available
  # open                 1
  LV Size                <39.00 GiB
  Current LE             9983
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Physical volumes ---
  PV Name               /dev/sda2
  PV UUID               KP276t-ntnc-olK4-F2sH-XaDM-ECsg-fM22Xy
  PV Status             allocatable
  Total PE / Free PE    9983 / 0

[root@oradb ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Thu May  9 22:59:03 2024
#
# 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/centos-root /                       xfs     defaults        0 0
UUID=5c4d3a30-a8e9-4b04-825e-8d06dbef9926 /boot                   xfs     defaults        0 0
[root@oradb ~]#
[root@oradb ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 2.0G     0  2.0G    0% /dev
tmpfs                    2.0G     0  2.0G    0% /dev/shm
tmpfs                    2.0G  9.2M  2.0G    1% /run
tmpfs                    2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/mapper/centos-root   39G  4.6G   35G   12% /
/dev/sda1               1014M  227M  788M   23% /boot
overlay                   39G  4.6G   35G   12% /var/lib/docker/overlay2/a666be89b55b0d380efc67d00345e48bd0673e71c75680f0d9876f221d847c3d/merged
tmpfs                    393M     0  393M    0% /run/user/0

文件系统管理

前面介绍了创建分区或LVM管理磁盘创建逻辑卷后,Linux并不能直接使用,还需要两步才行。

第一步,格式化文件系统

mkfs.*的命令是格式化文件系统的一系列命令,包括:常用的mkfs.ext4和mkfs.xfs等。

# 格式化一个分区/dev/sda1
mkfs.xfs /dev/sda1

# 格式化一个逻辑卷/dev/mapper/vgdata-lv_oracle
mkfs.xfs /dev/mapper/vgdata-lv_oracle

第二步,将格式化好的文件系统挂载到指定的挂载点

还是两种方法,一是手工mount命令直接挂载立即生效(系统重启后文件系统不能自动挂载),二是编辑/etc/fstab文件挂载(系统重启后文件系统可以自动挂载)。

# 手工挂载,需要先创建一个挂载目录/oracle
mkdir /oracle
mount /dev/mapper/vgdata-lv_oracle /oracle

# 编辑/etc/fstab文件挂载
vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Thu May  9 22:59:03 2024
#
# 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/centos-root /                       xfs     defaults        0 0
UUID=5c4d3a30-a8e9-4b04-825e-8d06dbef9926 /boot    xfs     defaults        0 0
# 新添加的文件系统
/dev/mapper/vgdata-lv_oracle /                  xfs     defaults        0 0

# 编辑完成后,退出vim,执行mount -a自动挂载
mount -a

# 查看新文件系统挂载情况
df -h

虚拟机存储空间不足扩容存储空间案例

VMware中的虚拟机挂载Windows目录(可选操作)

有时候Linux虚拟机中的文件太大,sftp传输文件太慢,或者占用双倍宿主机磁盘空间,可以使用Linux虚拟机直接挂载宿主机Windows的目录来解决。

一、Windows系统文件夹共享

创建vmware_share文件夹,设置文件夹属性:

aca0365dab7f4121834afad7539cdbd1.png

择Everyone后,点击共享。

2a02308c8e8d46ea8018851856ae67ed.png

二、VMware Workstation下挂载共享文件夹

虚拟机➔选项➔共享文件夹➔添加➔下一步

d1d8ff41353344779d93559e146bfe95.png

点击浏览➔选择共享好的文件夹➔确定

58df33bc3ecf44899966209dea0acd90.png

CentOS中安装vm-tools工具

yum install open-vm-tools

安装完成后,执行相应的命令:

[root@oradb ~]# vmware-hgfsclient
vmware_share

[root@oradb ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   12M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   39G  4.6G   35G   12% /
/dev/sda1               1014M  227M  788M   23% /boot
overlay                   39G  4.6G   35G   12% /var/lib/docker/overlay2/a666be89b55b0d380efc67d00345e48bd0673e71c75680f0d9876f221d847c3d/merged
tmpfs                    378M     0  378M    0% /run/user/0
vmhgfs-fuse              226G  115G  112G   51% /mnt/hgfs      # Windows共享目录挂载点


Linux系统重启后,共享目录默认不会挂载,需要重新执行挂载命令:

# 执行命令挂载共享目录
vmhgfs-fuse /mnt/hgfs/

# 查看挂载共享目录
df -h

文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   12M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   39G  4.6G   35G   12% /
/dev/sda1               1014M  227M  788M   23% /boot
overlay                   39G  4.6G   35G   12% /var/lib/docker/overlay2/a666be89b55b0d380efc67d00345e48bd0673e71c75680f0d9876f221d847c3d/merged
tmpfs                    378M     0  378M    0% /run/user/0
vmhgfs-fuse              226G  115G  112G   51% /mnt/hgfs

虚拟机快照

设置好基本的虚拟机后,关闭虚拟机,对虚拟机进行一次快照,并在快照的备注中写清楚IP地址,主机名,用途,用户名/密码,各种设置等信息。

以后再进行练习的时候,就可以直接“克隆”一台这个虚拟机进行练习了。

04d5e8d45e284ce89541b36f817f925e.png

注意:新克隆的虚拟机,在开机前先把虚拟机的的网络mac地址重新生成一下,开机后,修改/etc/sysconfig/network-scripts/ifcfg-ens33中的静态ip地址和主机名,修改/etc/hosts文件解析,然后重启虚拟机后,再进行使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值