CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)中扩展根分区部分用的就是LVM逻辑卷管理来进行扩展的。

1、为什么会有逻辑卷管理

传统磁盘管理是直接对硬盘分区进行访问,你如果磁盘不够了,再加一块硬盘,然后分区格式化,系统和应用直接对分区后的硬盘直接访问。

这个访问是独立,脱离原有目录系统的,比如在windows系统里经常出现C盘不够了,当时分区没想到windows会如此臃肿,要解决这个问题,

只能重新挂硬盘,借助第三方软件来动态的、非在线式的调整,而且,非常慢。

而LVM逻辑卷管理,可以动态的、实时的实现这个过程,非常快。LVM能做到这点,是LVM在磁盘上抽象了一层管理系统,系统和应用已经不

直接访问磁盘,而是访问这个抽象层,也就是LVM里的逻辑卷。

2、常用的LVM命令

 
  物理卷  
  卷组     逻辑卷  
  扫描     pvscan(pvs)     vgscan(vgs)     lvscan(lvs)  
  创建   pvcreate   vgcreate   lvcreate
  显示   pvdisplay   vgdisplay   lvdisplay
  删除   pvremove   vgremove   lvremove
  扩展     vgextend   lvextend
  缩减     vgreduce   lvreduce

3、逻辑卷示例

3.1、创建物理卷

查看目前物理卷
[root@bigdata-senior01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdb3 centos lvm2 a-- <15.00g 0 查看目前磁盘情况,这个命令比较多,这里用lsblk直观一些
[root@bigdata-senior01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 32G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 2G 0 part /backup
├─sdb2 8:18 0 3G 0 part [SWAP]
└─sdb3 8:19 0 15G 0 part
└─centos-root 253:0 0 32G 0 lvm /
sdc 8:32 0 1G 0 disk
sdd 8:48 0 1G 0 disk
sde 8:64 0 1G 0 disk
sdf 8:80 0 1G 0 disk
sdg 8:96 0 1G 0 disk
sr0 11:0 1 4.2G 0 rom 把sdc,sdd,sde三个磁盘都创建成物理卷
[root@bigdata-senior01 ~]# pvcreate /dev/sdc /dev/sdd /dev/sde
Physical volume "/dev/sdc" successfully created.
Physical volume "/dev/sdd" successfully created.
Physical volume "/dev/sde" successfully created. [root@bigdata-senior01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdb3 centos lvm2 a-- <15.00g 0
/dev/sdc lvm2 --- 1.00g 1.00g
/dev/sdd lvm2 --- 1.00g 1.00g
/dev/sde lvm2 --- 1.00g 1.00g

3.2、创建新卷组esdata

查看目前卷组情况
[root@bigdata-senior01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- 33.99g 0 创建esdata卷组
[root@bigdata-senior01 ~]# vgcreate esdata /dev/sdc /dev/sdd /dev/sde
Volume group "esdata" successfully created 再次查看
[root@bigdata-senior01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- 33.99g 0
esdata 3 0 0 wz--n- <2.99g <2.99g

3.3、创建逻辑卷,800M大小

[root@bigdata-senior01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 31.99g
swap centos -wi-ao---- 2.00g 从esdata上创建名字为vo_esData的逻辑卷,800M
[root@bigdata-senior01 ~]# lvcreate -n vo_esData -L 800M esdata
Logical volume "vo_esData" created. [root@bigdata-senior01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 31.99g
swap centos -wi-ao---- 2.00g
vo_esData esdata -wi-a----- 800.00m

3.4、格式化逻辑卷vo_esData

查看逻辑卷路径
[root@bigdata-senior01 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/esdata/vo_esData
LV Name vo_esData
VG Name esdata
LV UUID tMu3LD-Xxyy-10b4-Nbvn-SFe9-hn9W-kdFlDV
LV Write Access read/write
LV Creation host, time bigdata-senior01.home.com, 2019-01-17 15:39:59 +0800
LV Status available
# open 0
LV Size 800.00 MiB
Current LE 200
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2

格式化成ext4格式,为啥不是xfs格式?因为xfs缩减不方便
[root@bigdata-senior01 ~]# mkfs.ext4 /dev/esdata/vo_esData
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
51296 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=209715200
7 block groups
32768 blocks per group, 32768 fragments per group
7328 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840 Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

3.5、挂载

[root@bigdata-senior01 /]# mount /dev/esdata/vo_esData /mnt/esdata
[root@bigdata-senior01 /]# ls /mnt/esdata
lost+found
[root@bigdata-senior01 /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 32G 4.2G 28G 13% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 143M 872M 15% /boot
/dev/sdb1 2.0G 67M 2.0G 4% /backup
tmpfs 183M 0 183M 0% /run/user/1004
/dev/mapper/esdata-vo_esData 772M 1.6M 714M 1% /mnt/esdata

3.6、扩展逻辑卷,把刚才创建的800M的逻辑卷扩展到1.5G,只要卷组里还有足够的资源,就可以扩展逻辑卷。

如果卷组的空间不够,还可以再加硬盘创建物理卷,然后,把物理卷加入到对应的卷组里,保证卷组的资源。

[root@bigdata-senior01 /]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- 33.99g 0
esdata 3 1 0 wz--n- <2.99g <2.21g #卷组还有2.21GB的空间可用 [root@bigdata-senior01 /]# vgdisplay
--- Volume group ---
VG Name esdata
System ID
Format lvm2
Metadata Areas 3
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 3
Act PV 3
VG Size <2.99 GiB
PE Size 4.00 MiB
Total PE 765
Alloc PE / Size 200 / 800.00 MiB
Free PE / Size 565 / <2.21 GiB #卷组还有2.21GB的空间可用
VG UUID HhfZYk-xAbw-oYGP-S2bc-r53K-CxUO-ds2NUi [root@bigdata-senior01 /]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 31.99g
swap centos -wi-ao---- 2.00g
vo_esData esdata -wi-ao---- 800.00m
[root@bigdata-senior01 /]# lvextend -L 1.5G /dev/esdata/vo_esData
Size of logical volume esdata/vo_esData changed from 800.00 MiB (200 extents) to 1.50 GiB (384 extents).
Logical volume esdata/vo_esData successfully resized.
[root@bigdata-senior01 /]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 31.99g
swap centos -wi-ao---- 2.00g
vo_esData esdata -wi-ao---- 1.50g [root@bigdata-senior01 /]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- 33.99g 0
esdata 3 1 0 wz--n- <2.99g <1.49g 卸载设备,然后才能拉伸文件系统容量
[root@bigdata-senior01 /]# umount /dev/esdata/vo_esData
[root@bigdata-senior01 /]# e2fsck /dev/esdata/vo_esData
e2fsck 1.42.9 (28-Dec-2013)
/dev/esdata/vo_esData: clean, 11/51296 files, 7726/204800 blocks
[root@bigdata-senior01 /]# resize2fs /dev/esdata/vo_esData
resize2fs 1.42.9 (28-Dec-2013)
请先运行 'e2fsck -f /dev/esdata/vo_esData'. [root@bigdata-senior01 /]# e2fsck -f /dev/esdata/vo_esData
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/esdata/vo_esData: 11/51296 files (0.0% non-contiguous), 7726/204800 blocks
[root@bigdata-senior01 /]# resize2fs /dev/esdata/vo_esData
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/esdata/vo_esData to 393216 (4k) blocks.
The filesystem on /dev/esdata/vo_esData is now 393216 blocks long. [root@bigdata-senior01 /]# mount /dev/esdata/vo_esData /mnt/esdata
[root@bigdata-senior01 /]# df -h
文件系统                      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root        32G  4.2G   28G   13% /
devtmpfs                      901M     0  901M    0% /dev
tmpfs                         912M     0  912M    0% /dev/shm
tmpfs                         912M  8.6M  904M    1% /run
tmpfs                         912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                    1014M  143M  872M   15% /boot
/dev/sdb1                     2.0G   67M  2.0G    4% /backup
tmpfs                         183M     0  183M    0% /run/user/1004
/dev/mapper/esdata-vo_esData  1.5G  2.4M  1.4G    1% /mnt/esdata

3.7、缩小逻辑卷容量

[root@bigdata-senior01 ~]# umount /dev/esdata/vo_esData

[root@bigdata-senior01 ~]# e2fsck -f /dev/esdata/vo_esData
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/esdata/vo_esData: 11/87936 files (0.0% non-contiguous), 10228/393216 blocks #减少文件系统到1G左右
[root@bigdata-senior01 ~]# resize2fs /dev/esdata/vo_esData 1G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/esdata/vo_esData to 262144 (4k) blocks.
The filesystem on /dev/esdata/vo_esData is now 262144 blocks long. #减少逻辑卷到1G,可能会损坏数据
[root@bigdata-senior01 ~]# lvreduce -L 1G /dev/esdata/vo_esData
WARNING: Reducing active logical volume to 1.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce esdata/vo_esData? [y/n]: y
Size of logical volume esdata/vo_esData changed from 1.50 GiB (384 extents) to 1.00 GiB (256 extents).
Logical volume esdata/vo_esData successfully resized. [root@bigdata-senior01 ~]# mount /dev/esdata/vo_esData /mnt/esdata
[root@bigdata-senior01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 32G 4.2G 28G 13% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.7M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 143M 872M 15% /boot
/dev/sdb1 2.0G 67M 2.0G 4% /backup
tmpfs 183M 0 183M 0% /run/user/1004
/dev/mapper/esdata-vo_esData 994M 2.0M 925M 1% /mnt/esdata

3.8、逻辑卷里硬盘出问题怎么办?假设上例的/dev/sdc磁盘出现问题,如何处理?

先查看物理卷情况,/dev/sdc损坏的盘有数据,需要先把数据迁移
[root@bigdata-senior01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdb3 centos lvm2 a-- <15.00g 0
/dev/sdc esdata lvm2 a-- 1020.00m 0
/dev/sdd esdata lvm2 a-- 1020.00m 1016.00m
/dev/sde esdata lvm2 a-- 1020.00m 1020.00m 迁移/dev/sdc数据到/dev/sde,确保目标盘空间够用
[root@bigdata-senior01 ~]# pvmove /dev/sdc /dev/sde
/dev/sdc: Moved: 1.18%
/dev/sdc: Moved: 100.00% 迁移完成
[root@bigdata-senior01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdb3 centos lvm2 a-- <15.00g 0
/dev/sdc esdata lvm2 a-- 1020.00m 1020.00m
/dev/sdd esdata lvm2 a-- 1020.00m 1016.00m
/dev/sde esdata lvm2 a-- 1020.00m 0 从卷组esdata里移除 /dev/sdc
[root@bigdata-senior01 ~]# vgreduce esdata /dev/sdc
Removed "/dev/sdc" from volume group "esdata"
[root@bigdata-senior01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdb3 centos lvm2 a-- <15.00g 0
/dev/sdc lvm2 --- 1.00g 1.00g
/dev/sdd esdata lvm2 a-- 1020.00m 1016.00m
/dev/sde esdata lvm2 a-- 1020.00m 0
[root@bigdata-senior01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- 33.99g 0
esdata 2 1 0 wz--n- 1.99g 1016.00m 移除物理卷/dev/sdc
[root@bigdata-senior01 ~]# pvremove /dev/sdc
Labels on physical volume "/dev/sdc" successfully wiped.
[root@bigdata-senior01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdb3 centos lvm2 a-- <15.00g 0
/dev/sdd esdata lvm2 a-- 1020.00m 1016.00m
/dev/sde esdata lvm2 a-- 1020.00m 0

3.9、修复的硬盘重新装回去(或者是一块新的,旧的已经安息)

[root@bigdata-senior01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 32G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 2G 0 part /backup
├─sdb2 8:18 0 3G 0 part [SWAP]
└─sdb3 8:19 0 15G 0 part
└─centos-root 253:0 0 32G 0 lvm /
sdc 8:32 0 1G 0 disk
sdd 8:48 0 1G 0 disk
└─esdata-vo_esData 253:2 0 1G 0 lvm /mnt/esdata
sde 8:64 0 1G 0 disk
└─esdata-vo_esData 253:2 0 1G 0 lvm /mnt/esdata
sdf 8:80 0 1G 0 disk
sdg 8:96 0 1G 0 disk
sr0 11:0 1 4.2G 0 rom 重新把/dev/sdc创建物理卷
[root@bigdata-senior01 ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
查看
[root@bigdata-senior01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdb3 centos lvm2 a-- <15.00g 0
/dev/sdc lvm2 --- 1.00g 1.00g
/dev/sdd esdata lvm2 a-- 1020.00m 1016.00m
/dev/sde esdata lvm2 a-- 1020.00m 0 扩充卷组esdata
[root@bigdata-senior01 ~]# vgextend esdata /dev/sdc
Volume group "esdata" successfully extended
[root@bigdata-senior01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdb3 centos lvm2 a-- <15.00g 0
/dev/sdc esdata lvm2 a-- 1020.00m 1020.00m
/dev/sdd esdata lvm2 a-- 1020.00m 1016.00m
/dev/sde esdata lvm2 a-- 1020.00m 0
[root@bigdata-senior01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- 33.99g 0
esdata 3 1 0 wz--n- <2.99g <1.99g 逻辑卷根本不知道底层的硬盘已经换了一块。

4.0、逻辑卷的磁盘需要分区标识吗?

磁盘不分区就可以创建物理卷,但是我们依然可以用fdisk对磁盘进行分区标识,LVM的分区标识是8e,打上标识后,磁盘要转成普通磁盘使用需要重新分区,这也算一个安全手段。
我们也可以把磁盘分区几个区后,对其中某几个区创建物理卷。

5、删除逻辑卷

[root@bigdata-senior01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 32G 4.2G 28G 13% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.7M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 143M 872M 15% /boot
/dev/sdb1 2.0G 67M 2.0G 4% /backup
tmpfs 183M 0 183M 0% /run/user/1004
/dev/mapper/esdata-vo_esData 994M 2.0M 925M 1% /mnt/esdata 其实 /dev/esdata/vo_esData和/dev/mapper/esdata-vo_esData都是链接文件
[root@bigdata-senior01 ~]# ll /dev/esdata/vo_esData
lrwxrwxrwx 1 root root 7 1月 17 17:18 /dev/esdata/vo_esData -> ../dm-2
[root@bigdata-senior01 ~]# ll /dev/mapper/esdata-vo_esData
lrwxrwxrwx 1 root root 7 1月 17 17:18 /dev/mapper/esdata-vo_esData -> ../dm-2

卸载文件系统
[root@bigdata-senior01 ~]# umount /dev/esdata/vo_esData

移除逻辑卷
[root@bigdata-senior01 ~]# lvremove /dev/esdata/vo_esData
Do you really want to remove active logical volume esdata/vo_esData? [y/n]: y
Logical volume "vo_esData" successfully removed 移除卷组
[root@bigdata-senior01 ~]# vgremove esdata
Volume group "esdata" successfully removed 移除物理卷
[root@bigdata-senior01 ~]# pvremove /dev/sdc /dev/sdd /dev/sde
Labels on physical volume "/dev/sdc" successfully wiped.
Labels on physical volume "/dev/sdd" successfully wiped.
Labels on physical volume "/dev/sde" successfully wiped.

CentOS LVM逻辑卷管理的更多相关文章

  1. CentOS下LVM逻辑卷管理技术解释

    1.LVM逻辑卷管理技术产生的背景 企业日益变化的存储需要使得传统的磁盘分区存储显得不够灵活 2.磁盘分区存储 对于这样的三个物理分区的话,迟早有一天会被数据填满,因为它是死的,无法进行缩放. 假设下 ...

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

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

  3. 18 LVM逻辑卷管理

    根据上一节的内容,我们知道md这个内核模块可以用来做软RAID的管理.同时RAID实现了两个功能:1.提高了磁盘的读写能力:2.对于数据进行了冗余备份: 但是,如果是管理员手动误删的数据,则一样无法找 ...

  4. LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除

    一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...

  5. LVM逻辑卷管理测试——创建逻辑卷

    虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...

  6. 【Linux】LVM 逻辑卷管理

    LVM - 逻辑卷管理 简介 LVM(Logical Volume Manager), 即逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制. 相关名词 PV(physical volume) ...

  7. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

  8. Linux之LVM逻辑卷管理

    LVM逻辑卷管理 LVM机制:PV物理卷,VG卷组,LV逻辑卷. --功能-- --物理卷管理-- --卷组管理-- --逻辑卷管理-- create(建立) pvcreate vgcreate lv ...

  9. CentOS 6.7 配置LVM (逻辑卷管理)

    LVM 简介 LVM是逻辑盘卷组管理 (Logical Volume Manager) 的简称. LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性,在一定程度上解决普通磁盘分区带来 ...

随机推荐

  1. Java编辑环境搭建

    1.Java开发环境搭建 这里主要说的是在Windows系统下的环境搭建 JDK的安装 java的sdk简称JDK ,去其官方网站下载最近的JDK即可http://www.oracle.com/tec ...

  2. 海思NB-IOT死机问题解决记录

    1. 首先抓下LOG的信息,这个应该是MCU到NB的数据 2. 看下NB到MCU的数据 3. 总结起来,只看到了NB模块的启动,似乎AT指令,肯本没收到.测试中确实出现了复位,但是不清楚是发送的AT指 ...

  3. Spring的cache缓存介绍

    从3.1开始,Spring引入了对Cache的支持.其使用方法和原理都类似于Spring对事务管理的支持.Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该 ...

  4. Java开发工程师(Web方向) - 02.Servlet技术 - 第2章.Cookie与Session

    第2章--Cookie与Session Cookie与Session 浏览器输入地址--HTTP请求--Servlet--HTTP响应--浏览器接收 会话(session):打开浏览器,打开一系列页面 ...

  5. js设计模式:工厂模式、构造函数模式、原型模式、混合模式

    一.js面向对象程序 var o1 = new Object();     o1.name = "宾宾";     o1.sex = "男";     o1.a ...

  6. Ubuntu16.04安装wps办公软件解决文字缺失

    先到wps官网下载linux版wps安装包 选择64位的alpha版本下载: 下载完后,同样是cd到Downloads目录,用dpkg命令来安装它: cd  Downloads/ sudo dpkg ...

  7. Hadoop第一课:Hadoop集群环境搭建

    一. 检查列表 1.1.网络访问 设置电脑IP以及可以访问网络设置:进入etc/sysconfig/network-scripts/,使用命令“ls -all” 查看文件.会看到ifcfg-lo文件然 ...

  8. SIG蓝牙mesh笔记2_mesh组成

    目录 SIG 蓝牙 mesh 组成 mesh网络概述 网络和子网 设备和节点 devices & nodes 入网 mesh中的几个概念 智能插座例子 SIG 蓝牙 mesh 组成 mesh网 ...

  9. Python3 数据类型-字符串

    字符串是 Python 中最常用的数据类型,是一个个字符组成的有序的序列,是字符的集合. 一 字符串定义 创建字符串很简单,可以使用引号('或"或""")来创建 ...

  10. 实用的ES6特性

    1. 函数参数默认值 不使用ES6 为函数的参数设置默认值: function foo(height, color) { var height = height || 50; var color = ...