①查看当前VG的信息,保证VG中有足够的空闲空间  通过 vgdisplay 或者 vgs 命令

[root@rusky ~]# vgs rusky-vg
VG #PV #LV #SN Attr VSize VFree
rusky-vg 2 1 0 wz--n- 2.99g 2.50g
[root@rusky ~]# lvs rusky-vg ---vg总大小2.99G,创建myLv使用500MB,剩余VFree2.5G
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv rusky-vg -wi-a----- 500.00m
[root@rusky ~]# mount /dev/rusky-vg/mylv /mnt/myLvm/ --挂载并使用myLv
[root@rusky ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 6.7G 2.9G 3.8G 44% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 8.7M 912M 1% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 157M 341M 32% /boot
tmpfs tmpfs 185M 0 185M 0% /run/user/0
/dev/mapper/rusky--vg-mylv xfs 497M 26M 472M 6% /mnt/myLvm ---挂载成功,注意Type是xfs,因为我没有使用ext4来格式化逻辑卷
[root@rusky ~]#

VG中还有足够的空闲空间时,我们就可以动态的对逻辑卷进行拉伸操作了

②扩充逻辑卷  通过 lvextend 命令

比如我这里要对 mylv 逻辑卷扩充300MB的大小,此时我们就可以使用 lvextend -L +300MB /dev/rusky-vg/mylv 命令来执行操作

[root@rusky ~]# lvextend -L +300MB /dev/rusky-vg/mylv
Size of logical volume rusky-vg/mylv changed from 500.00 MiB (125 extents) to 800.00 MiB (200 extents).
Logical volume mylv successfully resized.
[root@rusky ~]# lvs rusky-vg --查看mylv的大小,由原来的500MB扩展为现在的800MB
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv rusky-vg -wi-ao---- 800.00m
[root@rusky ~]#

使用df -hT命令查看当前的文件系统信息

[root@rusky ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 6.7G 2.9G 3.8G 44% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 8.7M 912M 1% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 157M 341M 32% /boot
tmpfs tmpfs 185M 0 185M 0% /run/user/0
/dev/mapper/rusky--vg-mylv xfs 497M 26M 472M 6% /mnt/myLvm

/mnt/myLvm大小没变,还是原来的500MB,其原因就是我们的文件系统是在创建完LV以后就马上格式化的,此后我们对逻辑卷进行拉伸以后,其并不会改变当前的文件系统,所以我们这个时候必须更新我们的文件系统,通过使用 resize2fs 命令 

[root@rusky ~]# resize2fs /dev/rusky-vg/mylv
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/rusky-vg/mylv
Couldn't find valid filesystem superblock.

有报错,其原因是我现在使用的是rhel7版本的操作系统,格式化mylv时使用的是xfs类型,所以要使用另外一个命令xfs_growfs扩展文件系统大小。

[root@rusky ~]# xfs_growfs /dev/rusky-vg/mylv
meta-data=/dev/mapper/rusky--vg-mylv isize=256 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 128000 to 204800
[root@rusky ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 6.7G 2.9G 3.8G 44% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 8.7M 912M 1% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 157M 341M 32% /boot
tmpfs tmpfs 185M 0 185M 0% /run/user/0
/dev/mapper/rusky--vg-mylv xfs 797M 26M 772M 4% /mnt/myLvm
[root@rusky ~]#

使用命令df -hT查看文件系统大小,/dev/mapper/rusky--vg-mylv变为800MB,扩展成功。

说明:

可以使用xfs_growfs命令单独扩展xfs类型的文件系统。这个命令只能用来扩展xfs格式的文件系统,xfs格式是RHEL7版本默认的文件系统,所以用得比较少。lvextend和vgextend命令也可以用于操作xfs类型的文件系统。关于xfs_growfs命令的使用请参考另一篇文档。  

另外一个命令resize2fs也是用来扩展文件系统,但是只能用来扩展ext2,ext3,ext4格式的文件系统大小,在RHEL7版本以下的系统中用得比较多。

二、拉伸一个卷组

上面介绍了如何拉伸一个逻辑卷,如果说此时我们的VG中PE的数量已经不足了,此时我们如果需要拉伸我们的逻辑卷,发现卷组中的空间已经不够用了,这个时候我们就必须对我们的卷组进行拉伸,使得卷组中有足够的空闲空间,最后再来拉伸我们的逻辑卷。我们知道卷组其实就是将多块PV加入到VG当中,所以卷组的拉伸也非常的简单,我们只需要增加一块物理硬盘,将其格式化成PV,然后再将这个PV加入到该卷组中即可。

查看当前的PV及VG信息:

[root@rusky ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rhel lvm2 a-- 7.51g 40.00m
/dev/sdb rusky-vg lvm2 a-- 1020.00m 220.00m
/dev/sdc rusky-vg lvm2 a-- 2.00g 2.00g
[root@rusky ~]# vgs rusky-vg
VG #PV #LV #SN Attr VSize VFree
rusky-vg 2 1 0 wz--n- 2.99g 2.21g
[root@rusky ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb
VG Name rusky-vg
PV Size 1.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 255
Free PE 55
Allocated PE 200
PV UUID uiL3x1-0868-hXun-XpE5-hZd5-oBYC-LebUXW --- Physical volume ---
PV Name /dev/sdc
VG Name rusky-vg
PV Size 2.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 511
Free PE 511
Allocated PE 0
PV UUID ChddTg-FBp2-ZoxF-HK1x-BjKy-dEG4-cEEWzX --- Physical volume ---
PV Name /dev/sda2
VG Name rhel
PV Size 7.51 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1922
Free PE 10
Allocated PE 1912
PV UUID qMyN56-3szx-N7EG-s5Zh-YsrE-eScv-fdEHHZ
[root@rusky ~]# lvs rusky-vg
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv rusky-vg -wi-ao---- 800.00m

从上面可以看出,我们有两个物理卷PV:/dev/sdb和/dev/sdc,同属于一个卷组VG:rusky-vg,这个卷组可用空间VFree为2.21GB。
逻辑卷mylv现在大小LSize为800MB,如果想再扩充2.5个GB,很明显VG剩余空间不够,所以需要先增加VG的大小,才能完成mylv的扩展。

现在我们增加一块物理磁盘/dev/sdd,并将其格式化为PV,然后加入到VG中。

新增加的磁盘/dev/sdd大小为3GB,如下:

[root@rusky ~]# fdisk -l /dev/sdd

Disk /dev/sdd: 3221 MB, 3221225472 bytes, 6291456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

①将要添加到VG的硬盘格式化成PV  通过 pvcreate 命令

[root@rusky ~]# pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created
[root@rusky ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rhel lvm2 a-- 7.51g 40.00m
/dev/sdb rusky-vg lvm2 a-- 1020.00m 220.00m
/dev/sdc rusky-vg lvm2 a-- 2.00g 2.00g
/dev/sdd lvm2 --- 3.00g 3.00g --/dev/sdd还没有添加到任何卷组
[root@rusky ~]#

②将新的PV添加到指定的VG当中  通过 vgextend 命令

[root@rusky ~]# vgextend rusky-vg /dev/sdd
Volume group "rusky-vg" successfully extended
[root@rusky ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rhel lvm2 a-- 7.51g 40.00m
/dev/sdb rusky-vg lvm2 a-- 1020.00m 220.00m
/dev/sdc rusky-vg lvm2 a-- 2.00g 2.00g
/dev/sdd rusky-vg lvm2 a-- 3.00g 3.00g
[root@rusky ~]# vgs rusky-vg
VG #PV #LV #SN Attr VSize VFree
rusky-vg 3 1 0 wz--n- 5.99g 5.21g --VFree由原来的2.21G变为现在的5.21G
[root@rusky ~]#

现在已完成一个卷组rusky-vg的扩展,可按需求扩展lv的大小了。

三、缩小一个逻辑卷

上面讲的都是如何对逻辑卷进行拉伸以及对卷组进行拉伸,其实逻辑卷还可以动态的对其进行缩小。

我们看到缩小逻辑卷其实就是从当前的LV中拿出指定的PE数量放回到VG当中。

注意:逻辑卷的缩小操作必须离线执行,要先卸载掉逻辑卷才可以

上面在讲的逻辑卷的拉伸操作时我们可以在线执行,不需要卸载掉逻辑卷,但是在进行逻辑卷的缩小操作时,我们必须要先卸载掉逻辑卷才行,否则就可能造成逻辑卷里的文件发生损害。接下来我们来看一下对逻辑卷进行缩小操作的步骤

①卸载已经挂载的逻辑卷  通过 umount 命令

[root@rusky ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 6.7G 2.9G 3.8G 44% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 8.7M 912M 1% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 157M 341M 32% /boot
tmpfs tmpfs 185M 0 185M 0% /run/user/0
/dev/mapper/rusky--vg-mylv xfs 797M 26M 772M 4% /mnt/myLvm
[root@rusky ~]# umount /mnt/myLvm/
[root@rusky ~]# df -hT --查看已卸载/mnt/myLvm
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 6.7G 2.9G 3.8G 44% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 8.7M 912M 1% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 157M 341M 32% /boot
tmpfs tmpfs 185M 0 185M 0% /run/user/0

②缩小文件系统(会提示需要运行fsck来检查文件系统)  通过 resize2fs 命令

我们在讲到对逻辑卷进行拉伸的时候,其顺序是先对逻辑卷进行拉伸操作,然后再更新我们的文件系统,但是在对逻辑卷进行缩小操作时,我们必须先执行缩小文件系统这个操作!!!这个顺序必须要记清楚!!!

========

There is currently no command to shrink an XFS file system.

****这里有个问题:由于之前做测试时对xfs文件系统不是很了解,想在此尝试一下,结果最后发现xfs文件系统只支持扩展,不支持缩小。所以只能再创建一个其它类型的逻辑卷进行测试。


查看当前的VG及LV信息:

[root@rusky ~]# vgdisplay rusky-vg
--- Volume group ---
VG Name rusky-vg
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 5.99 GiB
PE Size 4.00 MiB
Total PE 1533
Alloc PE / Size 200 / 800.00 MiB
Free PE / Size 1333 / 5.21 GiB --rusky-vg还剩余5.21GB
VG UUID pnYjr2-mFDA-ddBM-Samb-odGK-Uuqv-ZJov52 [root@rusky ~]# lvdisplay rusky-vg
--- Logical volume ---
LV Path /dev/rusky-vg/mylv
LV Name mylv
VG Name rusky-vg
LV UUID tBPpLw-5EZu-yoEt-hAnj-UZd7-MGNK-Sd8e4i
LV Write Access read/write
LV Creation host, time rusky.com, 2016-10-11 11:34:01 +0800
LV Status available
# open 1
LV Size 800.00 MiB
Current LE 200
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2

创建mylv2,大小为3GB,并将其格式化为ext4

[root@rusky ~]# lvcreate -n mylv2 -L 3GB rusky-vg
Logical volume "mylv2" created.

查看添加的mylv2信息:

[root@rusky ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel -wi-ao---- 6.67g
swap rhel -wi-ao---- 820.00m
mylv rusky-vg -wi-ao---- 800.00m
mylv2 rusky-vg -wi-a----- 3.00g
[root@rusky ~]# lvdisplay rusky-vg
--- Logical volume ---
LV Path /dev/rusky-vg/mylv
LV Name mylv
VG Name rusky-vg
LV UUID tBPpLw-5EZu-yoEt-hAnj-UZd7-MGNK-Sd8e4i
LV Write Access read/write
LV Creation host, time rusky.com, 2016-10-11 11:34:01 +0800
LV Status available
# open 1
LV Size 800.00 MiB
Current LE 200
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2 --- Logical volume ---
LV Path /dev/rusky-vg/mylv2
LV Name mylv2
VG Name rusky-vg
LV UUID Fev9Cq-6XwK-QxPM-oJtw-Xuec-iede-Yv9PKQ
LV Write Access read/write
LV Creation host, time rusky.com, 2016-10-11 16:07:46 +0800
LV Status available
# open 0
LV Size 3.00 GiB
Current LE 768
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3

格式化mylv2

[root@rusky ~]# mkfs.ext4 /dev/rusky-vg/mylv2
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912 Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

挂载mylv2到/mnt/myLvm2目录下:

[root@rusky ~]# mount /dev/rusky-vg/mylv2 /mnt/myLvm2/
[root@rusky ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 6.7G 2.9G 3.8G 44% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 8.7M 912M 1% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 157M 341M 32% /boot
tmpfs tmpfs 185M 0 185M 0% /run/user/0
/dev/mapper/rusky--vg-mylv xfs 797M 33M 765M 5% /mnt/myLvm
/dev/mapper/rusky--vg-mylv2 ext4 2.9G 9.0M 2.8G 1% /mnt/myLvm2
[root@rusky ~]#

由上可知,我们创建了一个大小为2.9GB,文件系统类型为ext4的逻辑卷mylv2.


缩小逻辑卷mylv2为1GB

①卸载已经挂载的逻辑卷  通过 umount 命令  

[root@rusky ~]# umount /mnt/myLvm2/
[root@rusky ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 6.7G 2.9G 3.8G 44% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 0 921M 0% /dev/shm
tmpfs tmpfs 921M 8.7M 912M 1% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 157M 341M 32% /boot
tmpfs tmpfs 185M 0 185M 0% /run/user/0
/dev/mapper/rusky--vg-mylv xfs 797M 33M 765M 5% /mnt/myLvm --/mnt/myLvm2已卸载

②缩小文件系统(会提示需要运行fsck来检查文件系统)  通过 resize2fs 命令

[root@rusky ~]# resize2fs /dev/rusky-vg/mylv2 1G  --不能用GB
resize2fs 1.42.9 (28-Dec-2013)
Please run 'e2fsck -f /dev/rusky-vg/mylv2' first. [root@rusky ~]# e2fsck -f /dev/rusky-vg/mylv2
e2fsck 1.42.9 (28-Dec-2013)
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/rusky-vg/mylv2: 11/196608 files (0.0% non-contiguous), 31036/786432 blocks

the size parameter may be suffixed by one of the following the units designators: 's', 'K', 'M', or 'G', for 512 byte sectors, kilobytes,

megabytes, or gigabytes, respectively.

查看mylv2大小,没变,还是3GB,所以还必须缩小lv

[root@rusky ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel -wi-ao---- 6.67g
swap rhel -wi-ao---- 820.00m
mylv rusky-vg -wi-ao---- 800.00m
mylv2 rusky-vg -wi-a----- 3.00g

③缩小LV  通过 lvreduce 命令

因为我们之前的LV大小为3G,我们通过缩小文件系统将其缩减小为1GB,所以此时我们需要缩小2GB大小的逻辑卷。

[root@rusky ~]# lvreduce -L 2G /dev/rusky-vg/mylv2

之后,重新mount即可。

四、缩小卷组

①首先必须也要卸载掉我们的逻辑卷  通过 umount 命令

②将一个PV从指定卷组中移除掉  通过 vgreduce 命令

[root@rusky ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rhel lvm2 a-- 7.51g 40.00m
/dev/sdb rusky-vg lvm2 a-- 1020.00m 220.00m
/dev/sdc rusky-vg lvm2 a-- 2.00g 2.00g
/dev/sdd rusky-vg lvm2 a-- 3.00g 1020.00m
[root@rusky ~]# vgreduce rusky-vg /dev/sdd

 ④将PV删除掉   通过 pvremove 命令 

# pvremove /dev/sdd

 

原文出处:http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/24/3097785.html

Linux磁盘管理:LVM逻辑卷的拉伸及缩减的更多相关文章

  1. Linux基础学习-LVM逻辑卷管理遇到的问题

    LVM学习逻辑卷管理创建逻辑卷遇到的问题 1 实验环境 系统 内核 发行版本 CentOS 2.6.32-754.2.1.el6.x86_64 CentOS release 6.10 (Final) ...

  2. 每天进步一点点——Linux磁盘管理LVM与RAID

    转载请注明出处:http://blog.csdn.net/cywosp/article/details/38965799 1. 传统磁盘管理问题 当分区大小不够用时无法扩展其大小,仅仅能通过加入硬盘. ...

  3. Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系统)

    当我们在安装系统的时候,由于没有合理分配分区空间,在后续维护过程中,发现有些分区空间不够使用,而有的分区空间却有很多剩余空间.如果这些分区在装系统的时候使用了lvm(前提是这些分区要是lvm逻辑卷分区 ...

  4. 1.4 Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系统)

      当我们在安装系统的时候,由于没有合理分配分区空间,在后续维护过程中,发现有些分区空间不够使用,而有的分区空间却有很多剩余空间.如果这些分区在装系统的时候使用了lvm(前提是这些分区要是lvm逻辑卷 ...

  5. 【转载】Linux磁盘管理:LVM逻辑卷管理

    Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...

  6. Linux学习之CentOS(二十六)--Linux磁盘管理:LVM逻辑卷的创建及使用

    在上一篇随笔里面 Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理, ...

  7. LVM逻辑卷的创建及使用

    在上一篇随笔里面 LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理,包括LVM中最重要的四个基本点(PE.PV.VG以及LV),这 ...

  8. linux的存储管理(RALD) LVM 逻辑卷管理 虚拟阵列

    磁盘存储管理 LVM 逻辑卷 虚拟阵列 1.Linux系统中 磁盘使用 存在3个大问题: 1.灵活性 2.安全性 3.性能 2.解决办法RAID独立磁盘冗余阵列 RAID(Redundant Arra ...

  9. Linux学习之十九-Linux磁盘管理

    Linux磁盘管理 1.相关知识 磁盘,是计算机硬件中不可或缺的部分磁盘,是计算机的外部存储器中类似磁带的装置,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失 ...

随机推荐

  1. [Windows] php开发工具,zendstudio13使用方法补丁

    官网原版下载 http://downloads.zend.com/studio ... win32.win32.x86.exe 破解补丁: 链接:http://pan.baidu.com/s/1gdi ...

  2. LeapMotion预览——什么是LeapMotion

    LeapMotion预览 这个就是LeapMotion: 原文转自:   LeapMotion预览 LeapMotion 官网:http://leapmotion.com/ 开发者:https://d ...

  3. 转:PHP的线程安全ZTS与非线程(NTS)安全版本的区别

    原文来自于:http://blog.sina.com.cn/s/blog_94c21e8f0101s2ic.html Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和 ...

  4. 使用 Java 开发兼容 IPv6 的网络应用程序

    根据现有 IPv4 地址的部署速度,剩余的地址将在 10 到 20 年被使用殆尽.因此网络逐渐从 IPv4 向 IPv6 转换是不可避免的,相应的各种网络应用程序都将支持 IPv6.对于 Java,从 ...

  5. Linux配置支持高并发TCP连接(socket最大连接数)

    Linux配置支持高并发TCP连接(socket最大连接数) Linux配置支持高并发TCP连接(socket最大连接数)及优化内核参数 2011-08-09 15:20:58|  分类:LNMP&a ...

  6. phpMyAdmin 完整路径泄露漏洞2

    漏洞名称: phpMyAdmin 完整路径泄露漏洞 CNNVD编号: CNNVD-201307-651 发布时间: 2013-08-09 更新时间: 2013-08-09 危害等级: 中危   漏洞类 ...

  7. Linux后台进程管理的一些命令小结

    Linux后台进程管理的一些命令:fg.bg.jobs.&.ctrl + z命令,供大家学习参考   一. &加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &, ...

  8. -_-#【CSS】注释

  9. 组合数学 UVa 11538 Chess Queen

    Problem A Chess Queen Input: Standard Input Output: Standard Output You probably know how the game o ...

  10. 【动态规划】Vijos P1680 距离

    题目链接: https://vijos.org/p/1680 题目大意: 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字符串“ab ...