虚拟化技术
整合多台设备,通过虚拟化操作系统来建立虚拟机,进而创建操作系统
安装Ubuntu
后面根据需求更改配置即可
创建好后,点击
进行镜像选择,然后开启虚拟机
进行Ubuntu的安装
- 修改镜像地址为阿里云的 :
http://mirrors.aliyun.com/ubuntu/
- 选择LVM磁盘扩容
8. 更改逻辑卷大小 (enter进行操作)
9. 配置账户基本信息
10. 开启SSH,按空格
11. 无选择,继续 done
12. 等待安装即可
然后基于这个虚拟机再克隆一个出来,使用克隆出来的机器,一旦被玩坏了就重新克隆一个,很方便
远程控制管理
传统的网络服务程序,FTP、POP、Telnet 本质上都是不安全的,因为它们在网络上通过明文传送口令和数据,这些数据非常容易被截获。SSH 叫做 Secure Shell
。通过 SSH,可以把传输数据进行加密,预防攻击,传输的数据进行了压缩,可以加快传输速度。
使用命令ip a
查看虚拟机 ip
常用远程管理工具
- Xshell
- FinalShell
然后创建一个新的连接到 Ubuntu 即可
目录管理
ll
:查看目录 (超级管理员权限可用)
ls -al
:查看目录 (普通用户可用)
pwd
:查看当前所处目录
cd
:切换目录,cd / 切换到根目录,cd .. 回到上级目录
目录 | 说明 |
---|---|
bin | 存放二进制可执行文件(ls , cat , mkdir 等),就像windows里面的exe |
boot | 存放用于系统引导时使用的各种文件 |
dev | 用于存放设备文件 |
etc | 存放系统配置文件 |
home | 存放所有用户文件的根目录,相当于windows下的users ( 用户 ) 目录 |
lib | 存放跟文件系统中的程序运行所需要的共享库及内核模块 |
mnt | 系统管理员安装临时文件系统的安装点 |
opt | 额外安装的可选应用程序包所放置的位置 |
proc | 虚拟文件系统,存放当前内存的映射 |
root | 超级用户目录 |
sbin | 存放二进制可执行文件,只有 root 才能访问 |
tmp | 用于存放各种临时文件 |
usr | 用于存放系统应用程序,比较重要的目录 /usr/local 本地管理员软件安装目录 |
var | 用于存放运行时需要改变数据的文件 |
Linux操作文件目录常用命令
命令 | 说明 | 语法 | 参数 | 参数说明 |
---|---|---|---|---|
ls | 显示文件和目录列表 | ls [-alrtAFR] [name…] | ||
-l | 列出文件的详细信息 | |||
-a | 列出当前目录所有文件,包含隐藏文件 | |||
mkdir | 创建目录 | mkdir [-p] dirName | ||
-p | 父目录不存在情况下先生成父目录 | |||
cd | 切换目录 | cd [dirName] | ||
touch | 生成一个空文件 | |||
echo | 生成一个带内容文件 | echo abcd > 1.txt ( 重写 ), echo 1234 >> 1.txt ( 追加 ) | ||
cat | 显示文本文件内容 | cat [-AbeEnstTuv] [—help] [—version] fileName | ||
cp | 复制文件或目录 | cp [options] source dest | ||
rm | 删除文件 | rm [options] name… | ||
-f | 强制删除文件或目录 | |||
-r | 同时删除该目录下的所有文件 | |||
mv | 移动文件或目录 | mv [options] source dest | ||
find | 在文件系统中查找指定的文件 | find . -name test.txt ( 在当前目录下查找名为test的txt文件 ) | ||
-name | 文件名 | |||
grep | 在指定的文本文件中查找指定的字符串 | |||
tree | 用于以树状图列出目录的内容 | |||
pwd | 显示当前工作目录 | |||
ln | 建立软链接 | |||
more | 分页显示文本文件内容 | |||
head | 显示文件开头内容 | |||
tail | 显示文件结尾内容 | |||
-f | 跟踪输出 |
解压缩命令
tar
命令 | 语法 | 参数 | 参数说明 |
---|---|---|---|
tar | tar [-cxzjvf] 压缩打包文档的名称 欲打包目录 | ||
-c | 建立一个归档文件的参数指令 (压缩) | ||
-x | 解开一个归档文件的参数指令 (解压) | ||
-z | 是否需要用 gzip 压缩 (压缩/解压缩算法,常用) | ||
-j | 是否需要用 bzip2 压缩 (压缩/解压缩算法) | ||
-v | 压缩的过程中显示文件 | ||
-f | 使用归档名,在 f 之后要立即接归档名 (压缩文件的名字和压缩到哪) | ||
-tf | 查看归档文件里面的文件 |
eg
- 压缩:
tar -zcvf test.tar.gz test\
- 解压:
tar -zxvf test.tar.gz
gzip
命 令 | 语法 | 参数 | 参数说明 |
---|---|---|---|
gzip | gzip [选项] 压缩(解压缩)的文件名 | ||
-d | 解压缩 | ||
-l | 对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字 | ||
-v | 对每一个压缩和解压的文件,显示文件名和压缩比 | ||
-num | 用指定的数字num调整压缩的速度,-1或—fast表示最快压缩方法(低压缩比),-9或—best表示最慢压缩方法(高压缩比)。系统缺省值为6 |
使用gzip算法进行压缩的压缩文件后缀为 gz
bzip2
命令 | 语法 | 参数 | 参数说明 |
---|---|---|---|
bzip2 | bzip2 [-cdz] | ||
-d | 解压缩 | ||
-z | 压缩参数 | ||
-num | 用指定的数字num调整压缩的速度,-1或—fast表示最快压缩方法(低压缩比),-9或—best表示最慢压缩方法(高压缩比)。系统缺省值为6 |
使用bzip算法进行压缩的压缩文件后缀为 bz2
系统管理命令
命令 | 说明 |
---|---|
stat | 显示指定文件的相关信息,比 ls 命令显示内容更多 |
who | 显示在线登录用户 |
hostname | 显示主机名称 |
uname | 显示系统信息 |
top | 显示当前系统中耗费资源最多的进程 |
ps | 显示瞬间的进程状态 |
du | 显示指定的文件(目录)已使用的磁盘空间的总量 |
df | 显示文件系统磁盘空间的使用情况 |
free | 显示当前内存和交换空间的使用情况 |
ifconfig | 显示网络接口信息 |
ping | 测试网络的连通性 |
netstat | 显示网络状态信息 |
clear | 清屏 |
kill | 杀死一个进程 ( kill -9 进程ID ) |
开关机命令
shutdown
命令可以用来进行关机程序,并在关机前传送讯息给所有使用者正在执行的程序,shutdown
也可以用来重启
命令 | 语法 | 参数 | 参数说明 |
---|---|---|---|
shutdown | shutdown [-t seconds] [-rkhncfF] time [message] | ||
-t seconds | 设定在几秒钟之后进行关机程序 | ||
-k | 并不会真的关机,只是将警告讯息传送给所有只用者 | ||
-r | 关机后重新开机(重启) | ||
-h | 关机后停机 | ||
-n | 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机 | ||
-c | 取消目前已经进行中的关机动作 | ||
-f | 关机时,不做 fcsk 动作(检查 Linux 档系统) | ||
-F | 关机时,强迫进行 fsck 动作 | ||
time | 设定关机的时间 | ||
message | 传送给所有使用者的警告讯息 |
- 重启
reboot
shutdown -r now
- 关机
shutdown -h now
halt
Vim 编辑器
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 Vim 则可以说是程序开发者的一项很好用的工具 :) (也许吧)
运行模式
- 编辑模式:
vim 文件名
,进入编辑模式,等待编辑命令输入 - 插入模式:编辑模式下,输入
i
进入插入模式,插入文本信息 - 命令模式:编辑模式下,输入
:
进入命令模式
命令模式下
:q
:直接退出vi:wq
:保存后退出vi ,并可以新建文件:q!
:强制退出:w file
:将当前内容保存成某个文件:set number
: 在编辑文件显示行号:set nonumber
:在编辑文件不显示行号:set paste
:原样粘贴
编辑模式下
/
:查找字符串
将外部文件内容粘贴到 vim 中可能会导致格式错乱,因此如果想要原样粘贴使用如下命令
- shift + :进入命令模式
- 输入 set paste
- 回车,然后按 i 进入插入模式
- 复制文本粘贴进去即可
用户和组管理
Linux 操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
使用 Root 用户
在实际生产操作中,我们基本上都是使用超级管理员账户操作 Linux 系统,也就是 Root 用户,Linux 系统默认是关闭 Root 账户的,我们需要为 Root 用户设置一个初始密码以方便我们使用。
- 设置 Root 账户密码
sudo passwd root
- 切换到 Root
su
- 切换到其它账户
su 账户名
- 设置允许远程登录 Root
vi /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password //注释此行
PermitRootLogin yes //加入此行
StrictModes yes
# 重启服务
service ssh restart
用户账户说明
- 普通用户: 普通用户在系统上的任务是进行普通操作
- 超级管理员: 管理员在系统上的任务是对普通用户和整个系统进行管理。对系统具有绝对的控制权,能够对系统进行一切操作。用 root 表示,root 用户在系统中拥有最高权限,默认下 Ubuntu 用户的 root 用户是不能登录的。
- 安装时创建的系统用户: 此用户创建时被添加到 admin 组中,在 Ubuntu 中,admin 组中的用户默认是可以使用
sudo
命令提权来执行只有管理员才能执行的命令的。如果不使用sudo
就是一个普通用户。
组账户说明
组:同属于一个组的所有用户具有该组所拥有的权限
- 私有组: 当创建一个用户时没有指定属于哪个组,Linux 就会建立一个与用户同名的私有组,此私有组只含有该用户。
- 标准组: 当创建一个用户时可以选定一个标准组,如果一个用户同时属于多个组时,登录后所属的组为主组,其他的为附加组。
账户系统文件说明
/etc/passwd
每一行代表一个账号,众多账号是系统正常运行所必须的,例如 bin,nobody 每行定义一个用户账户,此文件对所有用户可读。每行账户包含如下信息:
root:x:0:0:root:/root:/bin/bash
- 用户名: 就是账号,用来对应 UID,root UID 是 0。
- 口令: 密码,早期 UNIX 系统密码存在此字段,由于此文件所有用户都可以读取,密码容易泄露,后来这个字段数据就存放到 /etc/shadow 中,这里只能看到 X。
- 用户标示号(UID): 系统内唯一,root 用户的 UID 为 0,普通用户从 1000 开始,1-999 是系统的标准账户,500-65536 是可登陆账号。
- 组标示号(GID): 与 /etc/group 相关用来规定组名和 GID 相对应。
- 注释: 注释账号
- 宿主目录(主文件夹): 用户登录系统后所进入的目录 root 在 /root/itcast
- 命令解释器(shell): 指定该用户使用的 shell ,默认的是 /bin/bash
/etc/shadow
为了增加系统的安全性,用户口令通常用 shadow passwords 保护。只有 root 可读。每行包含如下信息:
root:$6$Reu571.V$Ci/kd.OTzaSGU.TagZ5KjYx2MLzQv2IkZ24E1.yeTT3Pp4o/yniTjus/rRaJ92Z18MVy6suf1W5uxxurqssel.:17465:0:99999:7:::
- 账号名称: 需要和 /etc/passwd 一致。
- 密码:
经过加密,虽然加密,但不表示不会被破解,该文件默认权限如下:- -rw———- 1 root root 1560 Oct 26 17:20 passwd-
- 只有root能都读写
- 最近修改密码日期: 从1970-1-1起,到用户最后一次更改口令的天数
- 密码最小时间间隔: 从1970-1-1起,到用户可以更改口令的天数
- 密码最大时间间隔: 从1970-1-1起,必须更改的口令天数
- 密码到期警告时间: 在口令过期之前几天通知
- 密码到期后账号宽限时间
- 密码到期禁用账户时间: 在用户口令过期后到禁用账户的天数
- 保留
/etc/group
用户组的配置文件
root:x:0:
- 用户组名称
- 用户组密码: 给用户组管理员使用,通常不用
- GID: 用户组的ID
- 此用户支持的账号名称: 一个账号可以加入多个用户组,例如想要 itcast 加入 root 这个用户组,将该账号填入该字段即可
root:x:0:root
, icast 将用户进行分组是 Linux 对用户进行管理及控制访问权限的一种手段。一个中可以有多个用户,一个用户可以同时属于多个组。该文件对所有用户可读。
/etc/gshadow
该文件用户定义用户组口令,组管理员等信息只有root用户可读。
root:\*::
- 用户组名
- 密码列
- 用户组管理员的账号
- 用户组所属账号
账户管理常用命令
增加用户
useradd 用户名
useradd -u (UID号)
useradd -p (口令)
useradd -g (分组)
useradd -s (SHELL)
useradd -d (用户目录)
如:useradd lusifer
增加用户名为 lusifer 的账户
修改用户
usermod -u (新UID)
usermod -d (用户目录)
usermod -g (组名)
usermod -s (SHELL)
usermod -p (新口令)
usermod -l (新登录名)
usermod -L (锁定用户账号密码)
usermod -U (解锁用户账号)
如:usermod -u 1024 -g group2 -G root lusifer
将 lusifer 用户 uid 修改为 1024,默认组改为系统中已经存在的 group2,并且加入到系统管理员组
删除用户
userdel 用户名 (删除用户账号)
userdel -r 删除账号时同时删除目录
如:userdel -r lusifer
删除用户名为 lusifer 的账户并同时删除 lusifer 的用户目录
组账户维护
groupadd 组账户名 (创建新组)
groupadd -g 指定组GID
groupmod -g 更改组的GID
groupmod -n 更改组账户名
groupdel 组账户名 (删除指定组账户)
口令维护
passwd 用户账户名 (设置用户口令)
passwd -l 用户账户名 (锁定用户账户)
passwd -u 用户账户名 (解锁用户账户)
passwd -d 用户账户名 (删除账户口令)
gpasswd -a 用户账户名 组账户名 (将指定用户添加到指定组)
gpasswd -d 用户账户名 组账户名 (将用户从指定组中删除)
gpasswd -A 用户账户名 组账户名 (将用户指定为组的管理员)
用户和组状态
su 用户名(切换用户账户)
id 用户名(显示用户的UID,GID)
whoami (显示当前用户名称)
groups (显示用户所属组)
文件权限管理
查看文件和目录的权限
ls –al
使用 ls 不带参数只显示文件名称,通过 ls –al
可以显示文件或者目录的权限信息。
ls -l 文件名
显示信息包括:文件类型 (d
目录,-
普通文件,l
链接文件),文件权限,文件的用户,文件的所属组,文件的大小,文件的创建时间,文件的名称
-rw-r--r--
-
:普通文件rw-
:说明用户 antigenmhc 有读写权限,没有运行权限r--
:表示用户组 antigenmhc 只有读权限,没有写和运行的权限r--
:其他用户只有读权限,没有写权限和运行的权限 | -rw-r—r— | 1 | antigenmhc | antigenmhc | 675 | Oct 26 17:20 | .profile | | —- | —- | —- | —- | —- | —- | —- | | 文档类型及权限 | 连接数 | 文档所属用户 | 文档所属组 | 文档大小 | 文档最后被修改日期 | 文档名称 |
可分为四段,首字母为第一段,剩下的字母每三个为一段
d | rwx | r-x | r-x |
---|---|---|---|
文档类型 | 文档所有者权限(user) | 文档所属用户组权限(group) | 其他用户权限(other) |
文档类型
首字母为第一段
d
表示目录l
表示软连接–
表示文件c
表示串行端口字符设备文件b
表示可供存储的块设备文件
余下的字符 每3 个字符为一段
r
只读,w
可写,x
可执行,-
表示无此权限
EG:r-x 可读可执行,不可写,拥有所有权限为 rwx
连接数
指有多少个文件指向同一个索引节点。
文档所属用户和所属组
就是文档属于哪个用户和用户组。文件所属用户和组是可以更改的
文档大小
默认是 bytes
更改操作权限
chown
是 change owner 的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组
chown [-R] 用户名称 文件或者目录
chown [-R] 用户名称:用户组名称 文件或目录
-R: 进行递归式的权限更改,将目录下的所有文件、子目录更新为指定用户组权限
chmod
改变访问权限
chmod [who] [+ | - | =] [mode] 文件名
eg : chmod +x test.txt ——> 给test.txt文件加上一个可执行权限
who
表示操作对象可以是以下字母的一个或者组合
- u:用户 user
- g:用户组 group
- o:表示其他用户
- a:表示所有用户是系统默认的
操作符号
- +:表示添加某个权限
- -:表示取消某个权限
- =:赋予给定的权限,取消文档以前的所有权限
mode
表示可执行的权限,可以是 r、w、x
文件名
文件名可以使空格分开的文件列表
示例
lusifer@UbuntuBase:~$ ls -al test.txt
-rw-rw-r-- 1 lusifer lusifer 6 Nov 2 21:47 test.txt
lusifer@UbuntuBase:~$ chmod u=rwx,g+r,o+r test.txt
lusifer@UbuntuBase:~$ ls -al test.txt
-rwxrw-r-- 1 lusifer lusifer 6 Nov 2 21:47 test.txt
lusifer@UbuntuBase:~$
数字设定法
数字设定法中数字表示的含义
- 0 表示没有任何权限
- 1 表示有可执行权限 =
x
- 2 表示有可写权限 =
w
- 4 表示有可读权限 =
r
也可以用数字来表示权限如 chmod 755 file_name
7:用户权限
5:用户组权限
5:其他用户权限
r w x | r – x | r - x |
---|---|---|
4 2 1 | 4 1 | 4 1 |
user | group | others |
- 若要 rwx 属性则 4+2+1=7
- 若要 rw- 属性则 4+2=6
- 若要 r-x 属性则 4+1=5
antigenmhc@UbuntuBase:~$ chmod 777 test.txt
antigenmhc@UbuntuBase:~$ ls -al test.txt
-rwxrwxrwx 1 lusifer lusifer 6 Nov 2 21:47 test.txt
antigenmhc@UbuntuBase:~$ chmod 770 test.txt
antigenmhc@UbuntuBase:~$ ls -al test.txt
-rwxrwx--- 1 lusifer lusifer 6 Nov 2 21:47 test.txt
软件包管理
APT(Advanced Packaging Tool) 是 Debian/Ubuntu 类 Linux 系统中的软件包管理程序, 使用它可以找到想要的软件包, 而且安装、卸载、更新都很简便;也可以用来对 Ubuntu 进行升级; APT 的源文件为 /etc/apt/
目录下的 sources.list
文件。
修改数据源
由于国内的网络环境问题,我们需要将 Ubuntu 的数据源修改为国内数据源,操作步骤如下:
查看系统版本
lsb_release -a
# 输出如下
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
注意: Codename 为
bionic
,该名称为我们 Ubuntu 系统的名称,修改数据源需要用到该名称
编辑数据源
vi /etc/apt/sources.list
删除全部内容并修改为
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
更新数据源
apt-get update
常用 APT 命令
- 安装软件包:
apt-get install
- 删除软件包:
apt-get remove
- 更新软件包列表:
apt-get update
- 升级有可用更新的系统(慎用):
apt-get upgrade
- 搜索:
apt-cache search
- 获取包信息:
apt-cache show
- 删除包及配置文件:
apt-get remove --purge
- 了解使用依赖:
apt-cache depends
- 查看被哪些包依赖:
apt-cache rdepends
- 安装相关的编译环境:
apt-get build-dep
- 下载源代码:
apt-get source
- 清理无用的包:
apt-get clean && apt-get autoclean
- 检查是否有损坏的依赖:
apt-get check
Linux部署应用
安装 Java 环境
解压并移动到指定目录
- 解压缩
tar -zxvf jdk-8u152-linux-x64.tar.gz
- 创建目录
mkdir -p /usr/local/java
- 移动安装包
mv jdk1.8.0_152/ /usr/local/java/
- 设置所有者
chown -R root:root /usr/local/java
配置环境变量
- 配置系统环境变量:
vim /etc/environment
修改系统环境变量
PATH = "/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin:usr/games:/usr/local/games"
export JAVA_HOME=/usr/local/java/jdk1.8.0_152
export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
配置用户环境变量:
vim /etc/profile
- 修改用户环境变量
```shell if [ “${PS1-}” ]; then if [ “${BASH-}” ] && [ “$BASH” != “/bin/sh” ]; thenThe file bash.bashrc already sets the default PS1.
PS1=’\h:\w\$ ‘
if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ “id -u
“ -eq 0 ]; then PS1=’# ‘ else PS1=’$ ‘ fi fi fi
export JAVA_HOME=/usr/local/java/jdk1.8.0_152 export JRE_HOME=/usr/local/java/jdk1.8.0_152/jre export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done
<a name="eb55717a"></a>
### 安装 tomcat 环境
- 上传 tomcat 的 tar 包至 /usr/local/下<br />解压缩 `tar -zxvf tomcat压缩包名`
- 进入解压好的 tomcat 文件夹下的 bin 目录下
- `./startup.sh` 启动运行tomcat
<a name="ac254ef8"></a>
### 安装 MySQL
安装
- 更新数据源:`apt-get update`
- 安装数据库:`apt-get install mysql-server`
查看MySQL状态:`systemctl status mysql`
配置远程访问:
先参考blog进行操作:[https://www.cnblogs.com/cpl9412290130/p/9583868.html](https://www.cnblogs.com/cpl9412290130/p/9583868.html)
- 修改配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 注释掉
bind-address = 127.0.0.1
- 重启MySQL
service mysql restart
- 登录 MySQL
mysql -u root -p
- 授权 root 用户允许所有人连接
grant all privileges on . to ‘root’@’%’ identified by ‘Your Password’; ```
- 最后远程进行连接即可
LVM磁盘扩容
LVM的基本概念
- 物理卷 Physical Volume (PV): 可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file)。物理卷包括一个特殊的 header,其余部分被切割为一块块物理区域(physical extents)
- 卷组 Volume group (VG): 将一组物理卷收集为一个管理单元,在卷组上能创建一个或多个逻辑卷
- 逻辑卷 Logical volume (LV): 虚拟分区,由物理区域(physical extents)组成
- 物理区域 Physical extent (PE): 硬盘可供指派给逻辑卷的最小单位(通常为 4MB)
磁盘操作相关命令
- 查看挂载点
df -h
- 显示当前的 logical volume:
lvdisplay
- 显示当前的 volume group:
vgdisplay
- 显示当前的 physical volume:
pvdisplay
关闭虚拟机后在 VMware 中添加一个新的硬盘,然后准备扩容
LVM扩容
- 查看 fdisk :
fdisk -l
- 查看所有储存设备:
fdisk -l |grep '/dev'
- 创建 sdb 分区:
fdisk /dev/sdb
主要操作上面两个框出来的,其它地方都是回车 - 格式化磁盘:
mkfs -t ext4 /dev/sdb1
- 创建物理卷 PV :
pvcreate /dev/sdb1
- 查看卷组:
pvscan
- 扩容卷组 VG
- 查看 VG :
vgdisplay
- 扩容 VG:
vgextend ubuntu-vg /dev/sdb1
- 查看 VG :
- 扩容 LV
- 查看 VG :
vgdisplay
- 查看 LV :
lvdisplay
- 扩容 LV ( 根据 上面查出的 LV 的路径来 ):
按固定大小追加:lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv
按百分比追加:lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
- 再次查看LV
- 刷新分区:
resize2fs /dev/ubuntu-vg/ubuntu-lv
- 验证是否成功:
df -h
- 查看 VG :
使用MySQL向Linux中写入数据是这样的
因此,一旦下掉一块硬盘,可能就会导致数据丢失