存档

‘解决方案’ 分类的存档

CentOS下lv调整空间大小

2017年10月20日 没有评论

一、目的

在使用CentOS6.3版本linux系统的时候,发现根目录(/)的空间不是很充足,而其他目录空间有很大的空闲,所以本文主要是针对现在已有的空间进行调整。首先,先来查看一下系统的空间分配情况:

1
2
3
4
5
6
7
8
[root@CentOS-78 /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_centos-lv_root  
                       50G   14G   34G  30% /  
tmpfs                 1.9G     0  1.9G   0% /dev/shm  
/dev/sda1             485M   37M  423M   8% /boot  
/dev/mapper/vg_centos-lv_home  
                      404G  670M  382G   1% /home

下面的详细步骤部分将从vg_centos-lv_home分区下取出100G的空间添加到/vg_centos-lv_root分区上去。
二、详细步骤
1、卸载vg_centos-lv_home分区

1
2
3
4
5
6
7
8
9
10
11
12
[root@CentOS-78 /]# umount /home  
 
[root@CentOS-78 /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_centos-lv_root  
                       50G   14G   34G  30% /  
tmpfs                 1.9G     0  1.9G   0% /dev/shm  
/dev/sda1             485M   37M  423M   8% /boot  
 
[root@CentOS-78 /]# resize2fs -p /dev/mapper/vg_centos-lv_home 282G  
resize2fs 1.41.12 (17-May-2010)  
Please run 'e2fsck -f /dev/mapper/vg_centos-lv_home' first.

这一步设定vg_home-lv_home大小没有成功,系统提示我们先运行下面的命令,操作如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
[root@CentOS-78 /]# e2fsck -f /dev/mapper/vg_centos-lv_home  
e2fsck 1.41.12 (17-May-2010)  
Pass 1: Checking inodes, blocks, and sizes  
Pass 2: Checking directory structure  
Pass 3: Checking directory connectivity  
Pass 4: Checking reference counts  
Pass 5: Checking group summary information  
/dev/mapper/vg_centos-lv_home: 1386/26836992 files (0.9% non-contiguous), 1855856/107344896 blocks  
 
[root@CentOS-78 /]# resize2fs -p /dev/mapper/vg_centos-lv_home 282G  
resize2fs 1.41.12 (17-May-2010)  
Resizing the filesystem on /dev/mapper/vg_centos-lv_home to 73924608 (4k) blocks.  
Begin pass 2 (max = 43)  
Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  
Begin pass 3 (max = 3276)  
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  
Begin pass 4 (max = 266)  
Updating inode references     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  
The filesystem on /dev/mapper/vg_centos-lv_home is now 73924608 blocks long. 
 
[root@CentOS-78 /]# mount /home  
[root@CentOS-78 /]#  
[root@CentOS-78 /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_centos-lv_root  
                       50G   14G   34G  30% /  
tmpfs                 1.9G     0  1.9G   0% /dev/shm  
/dev/sda1             485M   37M  423M   8% /boot  
/dev/mapper/vg_centos-lv_home  
                      278G  663M  263G   1% /home  
[root@CentOS-78 /]#  
 
[root@CentOS-78 /]# lvreduce -L 282G /dev/mapper/vg_centos-lv_home  
  WARNING: Reducing active and open logical volume to 282.00 GiB  
  THIS MAY DESTROY YOUR DATA (filesystem etc.)  
Do you really want to reduce lv_home? [y/n]: y  
  Reducing logical volume lv_home to 282.00 GiB  
  Logical volume lv_home successfully resized  
[root@CentOS-78 /]#

查看一下lv目前的情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@CentOS-78 /]# vgdisplay  
  --- Volume group ---  
  VG Name               vg_centos  
  System ID  
  Format                lvm2  
  Metadata Areas        1  
  Metadata Sequence No  5  
  VG Access             read/write  
  VG Status             resizable  
  MAX LV                0  
  Cur LV                3  
  Open LV               3  
  Max PV                0  
  Cur PV                1  
  Act PV                1  
  VG Size               465.27 GiB  
  PE Size               4.00 MiB  
  Total PE              119109  
  Alloc PE / Size       86472 / 337.78 GiB  
  Free  PE / Size       32637 / 127.49 GiB  
  VG UUID               1k4ooN-RFV9-uyf1-uMYf-aERG-YaGs-ZNoSD6

Free PE / Size指定的应该是现在可在分配的空间。
4、增加vg_centos-lv_root分区的大小
将可用的空间添加到vg_centos-lv_root分区上面:

1
2
3
4
5
6
7
8
9
10
11
12
[root@CentOS-78 /]# lvextend -L +127.40G /dev/mapper/vg_centos-lv_root  
  Rounding up size to full physical extent 127.40 GiB  
  Extending logical volume lv_root to 177.40 GiB  
  Logical volume lv_root successfully resized  
[root@CentOS-78 /]#  
 
[root@CentOS-78 /]# resize2fs -p /dev/mapper/vg_centos-lv_root  
resize2fs 1.41.12 (17-May-2010)  
Filesystem at /dev/mapper/vg_centos-lv_root is mounted on /; on-line resizing required  
old desc_blocks = 4, new_desc_blocks = 12  
Performing an on-line resize of /dev/mapper/vg_centos-lv_root to 46504960 (4k) blocks.  
The filesystem on /dev/mapper/vg_centos-lv_root is now 46504960 blocks long.

5、再次查看分区大小

1
2
3
4
5
6
7
8
[root@CentOS-78 /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_centos-lv_root  
                      175G   14G  153G   9% /  
tmpfs                 1.9G     0  1.9G   0% /dev/shm  
/dev/sda1             485M   37M  423M   8% /boot  
/dev/mapper/vg_centos-lv_home  
                      278G  663M  263G   1% /home

我们发现vg_centos-lv_root分区的空间已经增加了125G,之所以比lv_home减少的空间要多25G主要是由于我们把系统所有的可用的空间都加在了lv_root分区。
三、所遇到的问题
1、在卸载/home目录的时候失败
可先执行如下fuser命令,然后再umount即可:

1
2
[root@CentOS-78 /]# fuser -m /home  
[root@CentOS-78 /]#

2、设定完lv_home的大小,再次mount该分区时,发现用df命令无法看到给分区,此时只要在mount一次即可
3、在设定lv_root的大小时,不要把Free PE / Size的空间全部都用上,这很可能会出现Free PE空间不足的现象,建议保留一点Free PE的空间。

将Centos7的yum配置为阿里云的镜像(完美解决yum下载太慢的问题)

2017年10月12日 没有评论

最近在研究一些深度学习框架和大数据可视化的应用,经常会编译一些文件,而yum的默认地址下载太慢,所以用国内比较稳定的阿里云源。

参考

http://mirrors.aliyun.com/help/centos?spm=5176.bbsr150321.0.0.d6ykiD

话不多说,上命令
1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7

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

3、之后运行yum makecache生成缓存

如何禁止Win2008R2断电重启进入修复模式

2017年9月10日 没有评论

解决断电或者其他原因导致系统默认自动进入修复模式,导致系统无法正常开机。

桌面右键新建一个文档文本,双击打开文件新建文本文档,
复制以下命令到文本里面!
bcdedit /set {default} bootstatuspolicy ignoreallfailures
bcdedit /set {current} recoveryenabled No

在界面的左上角点击“文件”“另存为”,打开保存界面。在“保存格式”一行中选择“所有文件”;再把“文件名称”改为“XXXX.bat”的格式,保存为一个可运行的bat文件

然后桌面就出现了一个bat文件,只要双击文件就可以运行,系统窗口会一闪而过,接着可以删除该bat文件,电脑以后就不会出现修复模式了。

使用 HAProxy 做负载均衡(转)

2017年8月7日 没有评论

HAProxy 表示 High Availability Proxy ,是开源的负载均衡与代理软件。GitHub,Imgur,Instagram,Twitter 都在用它,阿里云的 SLB 服务也是基于 HAProxy 做的。

虚拟机

balancer:192.168.33.60
web1:192.168.33.61
web2:192.168.33.62
database:192.168.33.63
安装 HAProxy

yum install haproxy -y
systemctl start haproxy
systemctl enable haproxy
HAProxy 配置

HAProxy 的配置文件分成了两大部分:

Global:设置进程范围的参数。
Proxies:defaults,listen,frontend,backend …
HAProxy 配置:Global

复制默认的 haproxy.cfg 文件:

cd /etc/haproxy; sudo cp haproxy.cfg haproxy.cfg.bak
打开 haproxy.cfg :

vi /etc/haproxy/haproxy.cfg
你会看到这里已经定义了两个部分,global 还有 defaults 。

在 defaults 里面,查找:

mode http
option httplog
把 http 替换成 tcp :

mode tcp
option tcplog
HAProxy 配置:Proxies

frontend www
bind 192.168.33.60:80
default_backend web-backend
然后继续添加:

backend web-backend
balance roundrobin
mode tcp
server web1 192.168.33.61:80 check
server web2 192.168.33.62:80 check
重启 HAProxy

systemctl restart haproxy

Nginx could not build the server_names_hash 错误的解决办法

2017年7月4日 没有评论

在给nginx 配置了一个超长的域名后,通过 /usr/local/nginx/sbin/ngnix -t 检查配置文件时出现一下错误:
. 代码如下:
could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32

解决办法是在nginx的配置文件的http段中增加如下配置:
. 代码如下:
server_names_hash_bucket_size 64;

如果已经存在,需要加大后面的数值,注意:该数值是32的倍数为宜。
下面是nginx官方文档:
. 代码如下:
如果定义了大量名字,或者定义了非常长的名字,那可能需要在http配置块中使用server_names_hash_max_size和server_names_hash_bucket_size指令进行调整。server_names_hash_bucket_size的默认值可能是32,或者是64,或者是其他值,取决于CPU的缓存行的长度。如果这个值是32,那么定义“too.long.server.name.example.org”作为虚拟主机名就会失败,而nginx显示下面错误信息:
could not build the server_names_hash,
you should increase server_names_hash_bucket_size: 32
出现了这种情况,那就需要将指令的值扩大一倍:
http {
server_names_hash_bucket_size 64;

如果定义了大量名字,得到了另外一个错误:
could not build the server_names_hash,
you should increase either server_names_hash_max_size: 512
or server_names_hash_bucket_size: 32
那么应该先尝试设置server_names_hash_max_size的值差不多等于名字列表的名字总量。如果还不能解决问题,或者服务器启动非常缓慢,再尝试提高server_names_hash_bucket_size的值。

分类: 解决方案 标签: ,

windows 2008 R2 用户打开句柄数限制

2017年6月27日 没有评论

HKEY_LOCAL_MACHINE
– SOFTWARE
– – Microsoft
– – – Windows NT
– – – – CurrentVersion
– – – – – Windows

USERProcessHandleQuota:项设置用户句柄数量,默认值同样为2710(16进制)/10000(10进制),该值的允许范围为 200 ~ 18000 ,将其调整为更多的数值。同样地,对于具有2GB或更多物理内存的系统,不妨将用户句柄数直接设置为上限 18000(10进制);

从Windows 2012标准版升级到数据中心版

2017年6月14日 没有评论

对于Windows 7、Windows 8操作系统,可以在图形界面中通过输入序列号,从低版本直接升级到高的版本,例如从Windows 7家庭版升级到专业版或旗舰版。而对于Windows Server 2008、Windows Server 2012来说,则可以通过dism命令实现类似的功能。
Windows Server 2012发布后,我依次将单位的服务器升级或全新安装到了Windows Server 2012标准版或企业版(为了对比不对版本的功能特意安装)。现在想将标准版升级到数据中心版,步骤如下。

进入命令提示窗口,执行dism /online /get-targeteditions,查看当前系统可以升级的版本,显示可以升级到datacenter

显示可以升级的版本
(3)执行如下命令升级:
dism /online /set-edition:ServerDatacenter /productkey:7H6M3-4N78W-RFFKJ-H9KPW-K2C2M /AcceptEula

升级到datacenter
执行命令之后,重新启动计算机。
(4)再次进入系统,执行winver可以看到,当前为数据中心版。

Ubuntu14.04找回管理员权限或root密码

2017年6月12日 没有评论

Ubuntu14.04系统中,因为误操作导致管理员密码丢失或无效,并且忘记root密码,此时无法进行任何root/sudo权限操作。可以通过GRUB重新设置root密码,并恢复管理员账户到正常状态。

启动系统,显示GRUB选择菜单(如果默认系统启动过程不显示GRUB菜单,则在系统启动时需要长按[Shift]键,显示GRUB界面),选择Advanced options for Ubuntu,按下[Enter]进入,选择recovery mode,不要按下回车键。

按下[e]键进入命令编辑状态,到 linux /boot/vmlinuz-……. ro recovery nomodeset 所在行,将“ro recovery nomodeset”替换为“quiet splash rw init=/bin/bash”,按下[F10]或者[Ctrl+x]重启系统。

此时以root身份启动一个可读写的bash,直接使用命令passwd更改root密码,然后按下[Ctrl+Alt+Delete]重启系统。

系统启动后进入字符终端[Ctrl+Alt+F<1...6>],使用root账户和密码登录系统,然后进行恢复管理账户状态操作。(图形界面终端为[Ctrl+Alt+F<7>])

分类: Linux, 解决方案 标签: , ,

linux scp和rsyc限速传输

2017年5月7日 没有评论

linux scp和rsyc限速传输

一、scp限速1M
  scp -l 1000 vps12.com.tar.gz root@192.168.1.2:/root
  #此时的传输速率就是1M/8=100KB左右!经测试,如果数值在3000大约跑近4mbps。

二、rsync是(限制为 100k Bytes/s):
  rsync -auvzP–bwlimit=100 本地的文件 远程的文件

  参数说明:
  v:详细提示
  a:以archive模式操作,复制目录、符号连接,等价于 -rlptgoD 。
  z:压缩
  u:只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
  P:是综合了–partial –progress两个参数,
  所以此时的rsync支持了断点续传

机房之间传文件一般都担心带宽占用太多,特别是在共用带宽的情况下。常用的两个软件都可以限速:
scp可以加上 -l 参数:

引用
-l limit
Limits the used bandwidth, specified in Kbit/s.

rsync可以加上 –bwlimit 参数

引用
-i, –itemize-changes output a change-summary for all updates
–log-format=FORMAT output filenames using the specified format
–password-file=FILE read password from FILE
–list-only list the files instead of copying them
–bwlimit=KBPS limit I/O bandwidth; KBytes per second
–write-batch=FILE write a batched update to FILE
–only-write-batch=FILE like –write-batch but w/o updating dest

限制ip访问ssh

2017年5月6日 没有评论

由于ssh的安全性问题。最安全的办法就是限制指定ip能访问。允许指定的ip访问ssh服务最为有效。
操作如下:
第一步:
vim /etc/hosts.allow
加入以下:
sshd:10.2.2.2:allow
sshd:192.168.1.0/255.255.255.0:allow

ps:10.2.2.2是指定单个ip访问,192.168.1.1-255是指定这个段访问。同理,自己改一下ip即可套用。

第二步:
vim /etc/hosts.deny
加入以下:
sshd:ALL

第三步:
/etc/init.d/networking restart
重启网络服务生效。