安装VMware并修改网络设置
安装VMware Workstation的过程就不详细介绍了,网上很多教程。
安装过程参考如下文档:
新手教程 | 2024年最新Vmware17安装教程及许可证(详细图文)
安装完毕后,VMware软件会创建虚拟网卡并分配私有IP地址段,如果想修改默认VMware的网络设置,可以对VMware的“虚拟网络编辑器(N)”进行修改,下面以VMnet8 NAT模式网卡为例说明。
,
可以对VMnet8 NAT模式进行编辑修改,例如修改子网网段和DHCP分配地址段:
更改设置,可以修改默认的子网网段等配置:
一般情况下,VMnet8网段分配是:
宿主机的IP是1,例如:192.168.152.1,如下是Windows宿主机的ipconfig命令看到的VMnet8网卡的IP地址:
网关的IP地址是2,例如:192.168.152.2,如下是VMware的NAT网络配置:
3 - 254的地址分配给创建的虚拟机使用,例如:192.168.152.12,如下是VMware DHCP的配置,地址段区间是128 - 254,如果你的虚拟机想配置静态的IP,可以使用3 - 127这个地址段:
下面是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方法一
以阿里开源镜像站为例,其它国内镜像,可以参考镜像网站官方说明。
阿里云开源地址:
首先,备份/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 内下载地址:
安装并配置新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(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文件夹,设置文件夹属性:
择Everyone后,点击共享。
二、VMware Workstation下挂载共享文件夹
虚拟机➔选项➔共享文件夹➔添加➔下一步
点击浏览➔选择共享好的文件夹➔确定
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地址,主机名,用途,用户名/密码,各种设置等信息。
以后再进行练习的时候,就可以直接“克隆”一台这个虚拟机进行练习了。
注意:新克隆的虚拟机,在开机前先把虚拟机的的网络mac地址重新生成一下,开机后,修改/etc/sysconfig/network-scripts/ifcfg-ens33中的静态ip地址和主机名,修改/etc/hosts文件解析,然后重启虚拟机后,再进行使用。