東川印記

一本東川,笑看爭龍斗虎;寰茫兦者,度橫佰昧人生。

微服务环境搭建之centos7x2

2023年6月29日星期四



继续


1,mac nacos打包导入配置

mac zip打出来不识别,应该跟文件结构有关。

需要用其他的压缩工具或者在Linux或windows下打包。。。。

并且需要在最外层有一个文件夹标识group,如DEFAULT_GROUP

[senrsl@SENRSL01 zjky]$ zip -r DEFAULT_GROUP.zip DEFAULT_GROUP
updating: DEFAULT_GROUP/ (stored 0%)
  adding: DEFAULT_GROUP/。。。。
[senrsl@SENRSL01 zjky]$


2,centos禁用防火墙 docker 创建容器报错

[root@SENRSL01 senrsl]# docker run -d --name zjark-web -p 9007:8080 -v /home/zjky/zjark-web:/usr/local/apache-tomcat-8.5.82/webapps/ROOT dcjz/tomcat:8582
3c8eee9e2ef3aaf164f1910978215d1898ce23bacabf704f3171c217755dc032
docker: Error response from daemon: driver failed programming external connectivity on endpoint zjark-web (08f1dd8505807db850c7eb4062ca916331d05731a4604e3698a6c8057993414c):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9007 -j DNAT --to-destination 172.17.0.6:8080 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1)).
[root@SENRSL01 senrsl]#

方法1,先打开防火墙,等容器启动后再禁用防火墙

[root@SENRSL01 senrsl]# systemctl start firewalld

[root@SENRSL01 senrsl]# systemctl stop firewalld

[root@SENRSL01 senrsl]# systemctl disable firewalld

方法2,重启docker

systemctl restart docker


3,Please ensure you are using JDK 1.4 or above and
[ERROR] not a JRE (the com.sun.tools.javac.Main class is required).
[ERROR] In most cases you can change the location of your Java
[ERROR] installation by setting the JAVA_HOME environment variable.

环境问题

4,更改logback.xml路径

logback.xml在jar中引用jar中包裹。。。。配置路径为 /var/log/xxx

需要修改bootstrap.yml中,增加logging配置


logging:
  config: conf/aas/logback.xml

这时候可以启动了,但是还是会去找/var/log路径,这时再配置

java -jar -Dspring.config.additional-location=config/aas/bootstrap.yml -Dlogback.configurationFile=conf/aas/logback.xml aas-cloud.jar &

或者

java -jar -Dspring.config.additional-location=config/gateway/application.yml -Dlogback.configurationFile=conf/gateway/logback.xml zjark-cloud-gateway.jar &

就可以了。。。。

5,centos7 改网卡mac

[root@SENRSL04 senrsl]# cat /etc/sysconfig/network-scripts/ifcfg-enp3s0
。。。。
MACADDR=04:d3:b0:c5:27:86
[root@SENRSL04 senrsl]#

重启网卡或者系统

虽然生效了,但是Java获取到的还是之前的。。。。没啥用。。。。

6,centos7.9安装netstat

yum -y install net-tools

7,windows查看端口占用

C:\Users\Administrator>netstat -aon|findstr "9999"
  TCP    0.0.0.0:9999           0.0.0.0:0              LISTENING       13528
  TCP    127.0.0.1:9999         127.0.0.1:56098        TIME_WAIT       0
  TCP    127.0.0.1:9999         127.0.0.1:56099        TIME_WAIT       0
  TCP    127.0.0.1:9999         127.0.0.1:56100        TIME_WAIT       0
  TCP    127.0.0.1:9999         127.0.0.1:56101        TIME_WAIT       0
  TCP    127.0.0.1:9999         127.0.0.1:56102        TIME_WAIT       0
  TCP    127.0.0.1:9999         127.0.0.1:56103        TIME_WAIT       0
  TCP    [::]:9999              [::]:0                 LISTENING       13528

C:\Users\Administrator>tasklist|findstr "13528"
java.exe                     13528 RDP-Tcp#50                 1  3,357,184 K

C:\Users\Administrator>

8,php-cgi.exe - FastCGI 进程意外退出

IIS通过cgi 配置php访问,一直报这个


E:\Program Files\php-7.4.30-nts-Win32-vc15-x64>php -v
PHP Warning:  'vcruntime140.dll' 14.0 is not compatible with this PHP build link
ed with 14.16 in Unknown on line 0

E:\Program Files\php-7.4.30-nts-Win32-vc15-x64>PP

not compatible 不兼容

https://visualstudio.microsoft.com/zh-hans/downloads/

下载安装 Microsoft Visual C++ Redistributable for Visual Studio 2022

然后继续 php -v,报 计算机中丢失 OCI.dll

PHP Warning:  PHP Startup: Unable to load dynamic library 'oci8_12c' (tried: ext
\oci8_12c (鎵鎵句句笉笉鍒鍒版版寚寚瀹瀹氱氱殑殑妯妯″″潡潡銆銆?, ext\php_oci8_12c.dll (鎵鎵句句笉笉鍒鍒版版寚寚瀹瀹氱氱殑殑
妯妯″″潡潡銆銆?) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'oci8_12c' (tried: ext\oci8
_12c (鎵鎵句句笉笉鍒鍒版版寚寚瀹瀹氱氱殑殑妯妯″″潡潡銆銆?, ext\php_oci8_12c.dll (鎵鎵句句笉笉鍒鍒版版寚寚瀹瀹氱氱殑殑妯妯″″
潡潡銆銆?) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_firebird' (tried:
 ext\pdo_firebird (鎵鎵句句笉笉鍒鍒版版寚寚瀹瀹氱氱殑殑妯妯″″潡潡銆銆?, ext\php_pdo_firebird.dll (鎵鎵句句笉笉
鍒鍒版版寚寚瀹瀹氱氱殑殑妯妯″″潡潡銆銆?) in Unknown on line 0

然后下载了 php-5.6.20-nts-Win32-VC11-x64,特么的,直接就能使。。。。

https://windows.php.net/downloads/releases/archives/


9,Since Maven 3.8.1 http repositories are blocked.

idea2022

/Users/senrsl/work/IntelliJ IDEA2022.1.app/Contents/plugins/maven/lib/maven3/conf/settings.xml

注释

    <mirror>
      <id>maven-default-http-blocker</id>
      <mirrorOf>external:http:*</mirrorOf>
      <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
      <url>http://0.0.0.0/</url>
      <blocked>true</blocked>
    </mirror>

idea会先读自己包内的maven3,再读 .m2/setting.xml

.m2/setting.xml配置

  <profiles>
    <profile>
          <id>jdk1.8</id>  
           <activation>
               <activeByDefault>true</activeByDefault>  
               <jdk>1.8</jdk>
           </activation>  
           <properties>
               <maven.compiler.source>1.8</maven.compiler.source>  
               <maven.compiler.target>1.8</maven.compiler.target>  
               <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
           </properties>
    </profile>

    <profile>
           <id>think1-public</id>  
           <repositories>
                <repository>
                    <id>think1</id>
                    <name>Think1 Release Repository</name>
                    <url>http://nexus.test.com/repository/maven-public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
           </repositories>   
    </profile>

  </profiles>

  <activeProfiles>
    <activeProfile>jdk1.8</activeProfile>
    <activeProfile>think1-public</activeProfile>
    <!-- <activeProfile>zjark-public</activeProfile> -->
  </activeProfiles>
</settings>


10,No bean named 'shiroFilter' available VS Consider defining a bean named 'shiroFilterFactoryBean' in your configuration.

用的地方是shiroFilter,定义的地方是shiroFilterFactoryBean

之前1.4.0系统内用是shiroFilter

现在1.9.1必须是shiroFilterFactoryBean

11,nginx内服务器获取IP

之前

[root@imcp nginx]# ./sbin/nginx  -V
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
configure arguments: --prefix=/usr/local/nginx
[root@imcp nginx]#

重新编译

其中 --with-http_ssl_module 为启用SSL模块,-with-http_realip_module为内网获取真实ip

[root@imcp nginx-1.20.2]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

[root@imcp nginx-1.20.2]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module

[root@imcp nginx-1.20.2]# make

[root@imcp nginx-1.20.2]# ./objs/nginx -V
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module
[root@imcp nginx-1.20.2]#

杀掉之前的进程

重新安装

[root@imcp nginx-1.20.2]# make install

启动

[root@imcp nginx]# ./sbin/nginx -V
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module
[root@imcp nginx]# ./sbin/nginx -c conf/nginx.conf
[root@imcp nginx]#

配置

    #access_log  logs/access.log  main;


    # client real ip
    set_real_ip_from 0.0.0.0/0;
    real_ip_header  X-Forwarded-For;
    real_ip_recursive on;
    # pass real ip
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

好像不管用。。。。不过看了下系统的日志库里倒是对了,之前显示NGINX的内网IP,现在显示客户端访问的外网IP了。


12,git 推送到多个仓库

已经有一个仓库了,再加一个

SENRSL:pipeline senrsl$ git remote add aliyun git@codeup.aliyun.com:bkzy/test/pipline.git
SENRSL:pipeline senrsl$ git remote -v
aliyun    git@codeup.aliyun.com:bkzy/test/pipline.git (fetch)
aliyun    git@codeup.aliyun.com:bkzy/test/pipline.git (push)
origin    git@gitlab.test.com:test/pipeline.git (fetch)
origin    git@gitlab.test.com:test/pipeline.git (push)
SENRSL:pipeline senrsl$ git push aliyun master

SENRSL:pipeline senrsl$ git push

SENRSL:pipeline senrsl$ git push aliyun


13, 电脑格盘依然能ping通

centos7.9,ip 104

格盘 重装为 win10, ip 129

路由器 104、129同时在线,其他电脑 ping 129不通,104通。。。。

虽然ping有问题,但是幸好用windows的远程工具 连104连不上,连129可以连上。。。。

然后发现,果然是103,竟然有两个地址

3: wlp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 48:5f:99:b2:89:ed brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.104/24 brd 192.168.0.255 scope global noprefixroute dynamic wlp5s0
       valid_lft 85753sec preferred_lft 85753sec
    inet 192.168.0.103/24 brd 192.168.0.255 scope global secondary noprefixroute wlp5s0
       valid_lft forever preferred_lft forever
    inet6 fe80::7123:623a:b535:7b08/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

原来是 设置了静态IP,动态又获取了一个。。。。

因为有两个网络服务,network和NetworkManager....


14, Docker 开启tcp远程访问,idea 2022发布到Docker

[root@SENRSL04 senrsl]# vi /usr/lib/systemd/system/docker.service

修改增加 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

[root@SENRSL04 senrsl]# systemctl daemon-reload
[root@SENRSL04 senrsl]# systemctl restart docker

测试

http://think4.test.com:2375/version


idea增加Docker配置,直接填写tcp地址即可

配图1


idea 发布到docker 有三种方法,直接发布docker img、Dockerfile、Docker compose。

还有 ssh、minikube k8s。。。。

1)docker img

2)Dockerfile

配图2

配置before launcher,先执行Maven的 clean package -U -DskipTests

然后镜像,自动部署,映射外部9100端口。


3)docker compose



可以直接在idea里管理Docker,真是方便

配图3


15,springboot 内存泄漏分析

1)MAT.app

does not contain the jni_createjavavm symbol

MAT.app里info.plist中增加

    <array>

      <string>-vm</string>
      <string>/Users/senrsl/work/jdk-11.0.16.1.jdk/bin/java</string>
                 
      <string>-keyring</string>
      <string>~/.eclipse_keyring</string>
             
    </array>

需要下载arm架构的jdk才可以。

java8没有arm架构,需要下载个jdk11....

然后 file open head dump 文件,启动时选择 leak suspects report.点击finish,生成内存泄漏分析报告


2) jvisualvm

SENRSL:~ senrsl$ which jvisualvm
/usr/bin/jvisualvm
SENRSL:~ senrsl$ jvisualvm

把 actuator下载的headdump文件装在进即可。


16,top命令

top - 15:20:52 up 41 days, 23:58,  1 user,  load average: 0.05, 0.03, 0.05
Tasks:  80 total,   1 running,  79 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  1.0 sy,  0.0 ni, 98.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   964092 total,    64436 free,   747020 used,   152636 buff/cache
KiB Swap:        0 total,        0 free,        0 used.    75892 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                  
31099 root      20   0 2370312 440940   1264 S  0.0 45.7  14:58.75 java       


第一行,当前时间15:20:52,系统运行up了41days 23:58,当前登录1个user,系统负载 1分钟、5分钟、15分钟分别为 0.05、0.03、0.05

第二行,总共80个进程,1个在运行,79个在睡眠,0个停止,0个僵尸

第三行,CPU信息,有多个CPU会有多行。

第四行,物理内存,总大小964092,空闲64436,使用747020,152636用作内核缓存

第五行,交换分区。

第七行

序号  列名    含义
a    PID     进程id
b    PPID    父进程id
c    RUSER   Real user name
d    UID     进程所有者的用户id
e    USER    进程所有者的用户名
f    GROUP   进程所有者的组名
g    TTY     启动进程的终端名。不是从终端启动的进程则显示为 ?
h    PR      优先级
i    NI      nice值。负值表示高优先级,正值表示低优先级
j    P       最后使用的CPU,仅在多CPU环境下有意义
k    %CPU    上次更新到现在的CPU时间占用百分比
l    TIME    进程使用的CPU时间总计,单位秒
m    TIME+   进程使用的CPU时间总计,单位1/100秒
n    %MEM    进程使用的物理内存百分比
o    VIRT    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p    SWAP    进程使用的虚拟内存中,被换出的大小,单位kb。
q    RES     进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r    CODE    可执行代码占用的物理内存大小,单位kb
s    DATA    可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t    SHR     共享内存大小,单位kb
u    nFLT    页面错误次数
v    nDRT    最后一次写入到现在,被修改过的页面数。
w    S       进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
x    COMMAND 命令名/命令行
y    WCHAN   若该进程在睡眠,则显示睡眠中的系统函数名
z    Flags   任务标志,参考 sched.h


17,阿里云开swap

[root@imcp2 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            941         728          63           0         149          74
Swap:             0           0           0
[root@imcp2 ~]#

//创建一个1G的交换空间

[root@imcp2 ~]# dd if=/dev/zero of=/mnt/swap bs=1M count=1024

//初始化交换空间

[root@imcp2 ~]# mkswap /mnt/swap

//启用交换分区

[root@imcp2 ~]# swapon /mnt/swap

//开机自动挂载

[root@imcp2 ~]# vi /etc/fstab

增加

/mnt/swap swap swap defaults 0 0

//设置使用swap分区的阈值

[root@imcp2 ~]# vi /etc/sysctl.conf

vm.swappiness = 50    //阿里云默认是0,改为50

[root@imcp2 ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@imcp2 ~]#

物理空间小于10%时,开始使用交换空间

18,usb camera android

SENRSL:temp senrsl$ git clone git@github.com:kdsrsl/libuvc.git

SENRSL:temp senrsl$ cd libuvc/
SENRSL:libuvc senrsl$ mkdir build
SENRSL:libuvc senrsl$ cmake --version
cmake version 3.6.0-rc2

SENRSL:libuvc senrsl$ echo $NDK_HOME
/Users/senrsl/work/android-ndk-r25b



19,MJPEG 与H.264
MJPEG是24-bit的"true-color"影像标准,MJPEG的工作是将RGB格式的影像转换成YCrCB格式,目的是为了减少档案大小,一般约可减少1/3~1/2左右。
MJPEG是在JPEG上发展起来的,JPEG的压缩技术是直接处理整个画面,等到压缩档案全部传输完才开始进行解压。而MJPEG对每一帧(一张张分离的JPG数据)进行压缩,再随机储存每一帧。就像JPEG是几个文档打包压缩邮件发送,而MJPEG可以用QQ在线逐一进行直接发送。MJPEG这种压缩技术避免了JPEG传输的延迟性。而且因为每一帧独立出来,所以可以任意剪接编辑,图像清晰度也会比JPEG的高。MJPEG一直以来作为民用监控的中坚技术,可以说是掌管监控行业的整个后宫。它的出现是压缩技术一个历史上的里程碑


H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。H.264是ITU-T以H.26x系列为名称命名的标准之一,同时AVC是ISO/IEC MPEG一方的称呼。
随着网络的发展要求视频压缩技术提出新的技术能够适应不同的网络环境,以更高的压缩比、更真实的画面、更少的花费、更快的传输速度传递视频,让网络摄像机能够更加贴近民众生活。因此H.264就诞生了


码流相当于视频文件在宽带中的水流速度,它的大小影响了传送速度和画面质量和占用内存。首先介绍一下公式:视频文件大小=码流×3600S÷8÷1024=?M/小时

1、 MJPEG压缩比是20:1
2、H.264压缩比是200:1



20,moov atom not found



21,M1芯片安装Android sdk

看起来官方不提供之前格式的包了,idea更新也一直有问题

想泛起直接下载android studio也一直下不下来。。。。

折腾一晚上,屮

SENRSL:bin senrsl$ ./sdkmanager --sdk_root=~/work/sdkarm/
Warning: Failed to download any source lists!                                   
Warning: IO exception while downloading manifest                                
Warning: Still waiting for package manifests to be fetched remotely.            
Warning: IO exception while downloading manifest                                
Warning: Still waiting for package manifests to be fetched remotely.            
[=======================================] 100% Computing updates...             
SENRSL:bin senrsl$


22,Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries

applectiona标签 增加 android:extractNativeLibs="true"

SENRSL:platform-tools senrsl$ ./adb install -r --user 0 /Users/senrsl/Downloads/红外手机资料/PX1/signapktools/app2.apk
Performing Streamed Install
adb: failed to install /Users/senrsl/Downloads/红外手机资料/PX1/signapktools/app2.apk: Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]
SENRSL:platform-tools senrsl$
SENRSL:platform-tools senrsl$
SENRSL:platform-tools senrsl$ ./adb install -r --user 0 /Users/senrsl/Downloads/红外手机资料/PX1/signapktools/app2.apk
Performing Streamed Install
Success
SENRSL:platform-tools senrsl$


23,git svn共存

svn的commit直接提交到库....

svn恢复

 svn log --limit 3

svn diff settings.gradle

svn merge -r 1226:1223 .
--- 正在反向合并 r1226,经由 r1224,到 “.”:
svn commit -m "revert revision r1223" .


可以通过修改 .idea/vcs.xml来控制。。。。


24,win10激活

windows powershell 管理员执行

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Windows\system32> slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
PS C:\Windows\system32> slmgr /skms kms.03k.org
PS C:\Windows\system32> slmgr /ato
PS C:\Windows\system32>

有时效性是正常的,22年10月20日可以。


25,mysql大小写敏感

把low case table name 改成1,5.7默认0;

mysql> SHOW VARIABLES LIKE '%case%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 1     |
+------------------------+-------+
2 rows in set (0.00 sec)

mysql>

在my.cnf下增加

[root@SENRSL01 senrsl]# cat /etc/my.cnf
[mysqld]
。。。
lower_case_table_names=1

。。。

重启即可

26,grafana国内镜像

https://mirrors.huaweicloud.com/grafana/


27,电信光猫PT926G 超级密码

1)开启telnet
访问http://192.168.1.1:8080/cgi-bin/abcdidfope94e0934jiewru8ew414.cgi

返回success

2)获取权限

SENRSL:Downloads senrsl$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
Login:admin
Password: TeleCom_1234
$su
Password: TeleCom_设备标识后六位小写
#cd /var/config
#cat lastgood.xml | grep SUSER_PASSWORD
  <Value Name="SUSER_PASSWORD" Value="telecomadmin数字一串"/>
#

3)使用超级密码登录

http://192.168.1.1:8080

telcomadmin
密码 telcomadmin数字一串

进入管理员后台

28,Content is not allowed in prolog.

Android项目复制了一个res/navigation目录过来,结果一直报这个错。。。。

把这个挪走,从idea里重新建navigation目录,之后就好了。。。。


29,android studio 一直请求dl.google

不管怎么修改repo的地址,一直固执地请求dl.google.清gradle缓存也不行。。。。

无奈,https://ping.chinaz.com/dl.google.com ping检测dl.google.com最快的国内地址,然后改hosts....


30,扩容未分配磁盘空间

ubuntu server系统安完后,存在未分配部分。

需要手动分配。


senrsl@yxxg12:~$ cp ubuntu-22.04.2-live-server-arm64.iso ubuntu-22.04.2-live-server-arm64.iso2
cp: error writing 'ubuntu-22.04.2-live-server-arm64.iso2': No space left on device
senrsl@yxxg12:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              388M  1.6M  387M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   19G   18G     0 100% /
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  253M  1.6G  14% /boot
tmpfs                              388M  4.0K  388M   1% /run/user/1000
senrsl@yxxg12:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0  63.4M  1 loop /snap/core20/1950
loop1                       7:1    0  63.5M  1 loop /snap/core20/1891
loop2                       7:2    0 111.9M  1 loop /snap/lxd/24322
loop3                       7:3    0  53.3M  1 loop /snap/snapd/19361
loop4                       7:4    0  53.3M  1 loop /snap/snapd/19457
sda                         8:0    0    40G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0    38G  0 part
  └─ubuntu--vg-ubuntu--lv 253:0    0    19G  0 lvm  /
sr0                        11:0    1  1024M  0 rom  
senrsl@yxxg12:~$
senrsl@yxxg12:~$ vgdisplay
  WARNING: Running as a non-root user. Functionality may be unavailable.
  /run/lock/lvm/P_global:aux: open failed: Permission denied
senrsl@yxxg12:~$ sudo su
[sudo] password for senrsl:
root@yxxg12:/home/senrsl# vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  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               <38.00 GiB
  PE Size               4.00 MiB
  Total PE              9727
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       4864 / 19.00 GiB
  VG UUID               rTD9gY-nTk6-TIyq-wiko-Cpl2-4Xf3-Ghk5f4
   
root@yxxg12:/home/senrsl# lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <19.00 GiB (4863 extents) to <38.00 GiB (9727 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
root@yxxg12:/home/senrsl# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 9960448 (4k) blocks long.

root@yxxg12:/home/senrsl# df -H
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              407M  1.7M  405M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   40G   19G   20G  50% /
tmpfs                              2.1G     0  2.1G   0% /dev/shm
tmpfs                              5.3M     0  5.3M   0% /run/lock
/dev/sda2                          2.1G  265M  1.7G  14% /boot
tmpfs                              407M  4.1k  407M   1% /run/user/1000
root@yxxg12:/home/senrsl#


31,

2023年06月29日16:02:29


--
senRsl
2022年09月01日17:39:02