分类 运维 下的文章

概念

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

696238-20170107104823269-1687879480.jpg

LVM中的术语

物理存储设备:指系统的存储设备,,如/dev/sda、/dev/sdb

物理卷:PV(Physical Volume),硬盘分区后(还未格式化为文件系统)使用pvcreate命令可以将分区创建为pv,要求分区的system ID为8e,即为LVM格式的系统标识符。

卷组:VG(Volume Group),将多个PV组合起来,使用vgcreate命令创建成卷组,这样卷组包含了多个PV就比较大了,相当于重新整合了多个分区后得到的磁盘。虽然VG是整合多个PV的,但是创建VG时会将VG所有的空间根据指定的PE大小划分为多个PE,在LVM模式下的存储都以PE为单元,类似于文件系统的Block。

逻辑卷:LV(Logical Volume)LV就相当于分区,只不过该分区是通过VG来划分的。VG中有很多PE单元,可以指定将多少个PE划分给一个LV,也可以直接指定大小(如多少兆)来划分。划分为LV之后就相当于划分了分区,只需再对LV进行格式化即可变成普通的文件系统。

PE(Physical Extend):PE是VG中的存储单元。实际存储的数据都是存储在这里面的。

LE(logical extent):PE是物理存储单元,而LE则是逻辑存储单元,也即为lv中的逻辑存储单元,和pe的大小是一样的。从vg中划分lv,实际上是从vg中划分vg中的pe,只不过划分lv后它不再称为pe,而是成为le。

环境

  • 物理主机:windows10
  • 虚拟软件:VMWare16
  • 虚拟机:CentOS Linux release 7.6.1810 (Core)
  • 软件环境:lvm2

扩容前的磁盘情况

lsblk

df -hT

image-20210724223543627.png

方案

新增了4块硬盘来做实验,目的是给根目录/扩容

LVM的创建与管理

创建物理卷

查看下当前系统PV情况

pvdisplay

image-20210724224856949.png

pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde

image-20210724225105671.png

添加新的物理卷到卷组

vgextend centos /dev/sdb /dev/sdc /dev/sdd /dev/sde

image-20210724225306337.png

vgdisplay 现在再次查看vg发现大小已经是98G了

image-20210724225408760.png

修改逻辑卷大小

先测试加50G给根目录/试试

先使用df -hT 查看信息

image-20210724225757536.png

然后使用命令扩容lvextend -L +50G /dev/mapper/centos-root

image-20210724225820734.png

此时,如果有df命令查看的话,会发现root空间并没有增加的.还需要执行以下两步操作才可以.

检查/逻辑卷

image-20210724230035196.png

哦,好像报错了,一顿百度搜索了解后发现,xfs格式的文件扩充需要使用 xfs_growfs

xfs_growfs /

image-20210724230341648.png

已经成功增加了50G。

还有很多其他操作就不操作了, 以后用到再测试。

PowerShell 里执行 Get-Physicaldisk 看下 CanPool 是不是 False ,用过的硬盘如果只是简单清除分区是没法加到存储池的,需要手动重置下:
Get-Physicaldisk
Screenshot 2021-07-24 155243.png
如果显示FALSE的话 格式化一下,然后重启就可以了
Screenshot 2021-07-24 155449.png

1、查看防火墙状态

systemctl status firewalld

image-20210610235804001.png

如果没有开启,请使用systemctl start firewalld.service 开启防火墙

2、配置端口规则

例如放通ssh的22端口:

firewall-cmd --permanent --zone=public --add-port=22/tcp

image-20210611000248522.png

出现success表示成功添加

删除规则:

firewall-cmd --permanent --zone=public --remove-port=22/tcp

命令含义:

--permanent 永久生效,没有此参数只是临时生效,重启后失效

--zone 作用域

--add-port=22/tcp 添加端口

3、查看所有已开放的端口或配置的富规则

firewall-cmd --list-all

image-20210611000944657.png

4、配置富规则(rich rules)

例如我只想192.168.191网段的IP访问本机的3306端口,就可以使用如下命令配置:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.191.0/24" port protocol="tcp" port="3306" accept"

删除规则的话 ,使用如下命令配置:

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.191.0/24" port protocol="tcp" port="3306" accept"

5、重启防火墙规则生效

完成规则配置后,重载防火墙配置

firewall-cmd --reload
image-20210611000643571.png

6、常用命令参考

参数含义
--state显示当前服务运行状态
--zone=public --list-ports查看所有打开运行的端口
--reload不重启立即加载
--list-all-zones查看区域信息情况
--panic-on拒绝所有包
--panic-off取消拒绝状态
--query-panic查看是否拒绝

简介

PsPing 实现 Ping 功能、TCP ping、延迟和带宽测量。

官方下载地址:https://download.sysinternals.com/files/PSTools.zip

安装

将psping.exe 复制到 C:/\Windows/\System32 目录下

20210603230237.png

使用

ParameterDescription
-? IUsage for ICMP ping.
-? TUsage for TCP ping.
-? LUsage for latency test.
-? BUsage for bandwidth test.

基本ping功能

psping www.baidu.com

image-20210603230817886.png

基于端口的ping (有些禁止ping了但是可以通过ping端口探测存活)

psping www.baidu.com:443

image-20210603230831878.png

带宽测试

psping -b -l 1500 -n 1500 www.baidu.com:80

image-20210603231136502.png

延迟测试

psping -n 10 -h 10 www.baidu.com:443

image-20210603231723481.png

更多操作详情见官方手册:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psping

统信uos桌面版是一款美观易用、安全稳定的国产操作系统,支持x86、龙芯、申威、鲲鹏、飞腾、兆芯等国产CPU平台,能够满足不同用户的办公、生活、娱乐需求。该系统以桌面应用场景为主,支持一些常见办公软件,比如Linux的微信、QQ、WPS等
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
10.png
11.png

最近发现墙更高了,默认使用的的gravatar头像源挂逼了
20210309112236.png
网站找了一个可用的镜像源,发现速度还挺快,就用这个了
https://cdn.v2ex.com/gravatar/
修改配置的方法也很简单,在网站根目录下的 config.inc.php 文件,加入如下代码即可

/** 设置gravatar镜像地址 */
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cdn.v2ex.com/gravatar/');

哦豁,20210422发现 v2ex也被墙了,真是用啥啥被墙,那就再换一个镜像源吧

/** 设置gravatar镜像地址 */
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.loli.net/avatar/');

保存,刷新下页面,头像就正常加载了
20210422142010.png

刚才新装了一个Ubuntu Server 16.04.3 发现没有ssh的服务,那就自己来安装咯,

  • 安装openssh
    sudo apt-get install openssh-server
  • 查看ssh状态
    ps -aux|grep ssh
  • 启动服务
    service ssh start
image.png

image.png
  • 正常连接
image.png

安装brew

image.png
  • 在mac 的终端下输入
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 安装的过程中需要输入密码

image.png
  • 然后就会继续等他安装完成了

image.png

使用brew安装软件

  • 比如安装一个lrzsz
    • brew install lrzsz

image.png
  • 有安装就有卸载对吧
    • brew uninstall lrzsz

image.png
  • 还有一些常用的我就不截图了,直接列出来了
    brewsearch 查询软件
    brewupdate 更新brewbrewlist 列出已安装的软件

起因

  • 某饼同学看到一个用java写的轻博客,于是就兴致冲冲的把原来的WP换成了这个java的轻博客。
  • 由于我的vps上是lnmp的环境,Nginx占用了80端口,Java的服务器只能用其他的端口,这里选择了9000端口,本地测试没问题。搭建的过程刺溜一下就好了。
  • 接下来就是配置域名访问了,但是问题也来了,总不能访问了域名然后在加上端口号吧。于是就想着用Nginx来反向代理本地的9000端口(前戏有点多,现在开始进入正题)

配置

  • 新建一个配置文件

vim www.zzlz13.com.conf

  • 输入以下配置
listen 80;
server_name localhost www.zzlz13.com zzlz13.com;
location / {
proxy_pass http://localhost:9000;
proxy_redirect default;
}
}
  • wq 保存
  • 重载Nginx
    service nginx reload

结果

1057884-d097d1afddb24469.png

改进版

创建一个配置文件(以www.zzlz13.com为例)
vim www.zzlz13.com.conf
输入一下配置

server
{
    
    listen 80;
    server_name www.zzlz13.com;

    location / 
    {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:9000;
    }
    
    location ~ .*\.(php|jsp|cgi|asp|aspx|flv|swf|xml)?$
    { 
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://localhost:9000;
        
    }

    access_log  /www/wwwlogs/zzlz13.com.log;
}

wq保存