btrfs文件系统介绍

btrfs文件系统介绍

简介

       Btrfs(B-tree,ButterFS ,Better FS通常念成Butter FS),由Oracle于2007年宣布并进行中的COW(copy-on-write式)文件系统。继ext3/4文件系统之后linux又有了比较强大的文件系统(btrfs文件系统),btrfs文件系统不仅可以将ext3/4系列的升级为btrfs 文件系统也可以将其降级为ext3/4的文件系统,特别是单一文件大小的限制,总文件系统大小限制以及加入文件校验 和特性。而且btrfs文件系统还具有快照,内建磁盘阵列(RAID)支持,支持子卷等功能,允许在线调整文件系统大小,更为“嚣张”的是btrfs 文件系统还支持快照的快照。突破了之前的一些文件系统。

一 btrfs核心特性


   1.扩展性 (scalability) 相关的特性:btrfs最重要的设计目标是应对大型机器对文件系统的扩展性要求。Extent,B-Tree 和动态inode创建等特性保证了btrfs在大型机器上仍有卓越的表现,其整体性能而不会随着系统容量的增加而降低。
   2.数据一致性(data integrity)相关的特性写时复制更新机制(CoW):复制、更新及替换指针,而非“就地”更新;还支持数据及元数据校验码(checksum)。
   3.多设备管理相关的特性:btrfs可由多个底层物理卷组成;支持RAID,以联机“添加”、“移除”,“修改”;支持快照以及快照的快照。
   4.子卷(subvolume):子卷实质上是把文件系统的一部分配置为一个完整的子文件系统,采用subvolume,一个大的文件系统可以被划分为多个子文件系统,这些子文件系统共享底层的设备空间,在需要磁盘空间时便从底层设备中分配,可以充分利用disk的带宽,可以简化磁盘空间的管理等,Subvolume可以作为根目录挂载到任意挂载点。
   5.透明压缩:分区里的每个文件都被自动压缩,不仅减小了文件的大小,还提高了性能。
   6. btrfs支持在线碎片整理。

二、 btrfs 常见命令


   1.文件系统创建:
      命令:mkfs.btrfs
      选项:-L 'LABEL'    #设置卷标
            -d< type>: raid0, raid1, raid5, raid6, raid10, single    #设置存储数据raid级别
            -m< profile>: raid0, raid1, raid5, raid6, raid10, single, dup  #设置存储元数据raid级别
            -O list-all: 列出支持的所有feature
   2.挂载文件系统:
      命令:mount -t btrfs /dev/sdb MOUNT_POINT
   3.透明压缩机制:
      命令:mount -o compress={lzo|zlib} DEVICE MOUNT_POINT
   4.ext文件系统和btrfs文件系统之间转换:
      命令:btrfs-convert /dev/sdd1       #一般文件系统转换成btrfs文件系统;
      命令:btrfs-convert -r /dev/sdd1    #btrfs文件系统转换回一般文件系统。

三、 btrfs 常见子命令


   1.文件系统命令管理
      命令:btrfs filesystem <subcommand> [argumnet]
         show:属性查看
         df:查看挂载点的可使用空间
         label:设置器卷标
         resize:动态调整btrfs大小
         sync:同步文件系统
         defragment:碎片整理
         usage:显示文件系统使用详细信息
   2. 管理子卷和快照命令
      命令:btrfs subvolume <subcommand> [argumnet]
         Create:创建子卷
         Delete:删除子卷
         List:列出子卷
         show:显示子卷的详细信息
         syn:同步内存上的数据到磁盘上
         snapshot:创建快照
            命令格式:btrfs subvolume snapshot [-r] <SUBVOLUME_NAME> <SUNVOLUME_SNAP_NAME>
      挂载子卷:
            命令格式:mount -o subvol=SUBVOLUME  DEVICE /MOUNT_POIN
      查看子卷信息:
            命令格式:btrfs subvolume show MOUNT_POINT
   3.设备管理命令
      命令:btrfs device <subcommand> DEVICE /MOUNT_POIN
         add:添加设备
         delete:删除设备
         scan:扫描btrfs文件系统
   4.平衡数据块管理 (原有的数据移动一部分到新增的物理卷上)
      命令:btrfs balance <subcommand> [options] /MOUNT_POIN
         btrfs balance start -mconvert=raid5 -dconvert=raid1 /mydata ##平衡数据块管理,并且转换(元)数据存储RAID级别
         start:启用balance
         pause: 停止balance
         cancel:取消balance
         status:查看balance状态
         resume:重新开始
   5.检查卸载btrfs文件系统
         btrfs check [options]

四、btrfs管理及应用

新增4块20G磁盘 dev/sdb、/dev/sdc、/dec/sdd /dev/sde

   1、Btrfs文件系统创建
        [root@centos7 ~]# mkfs.btrfs -L mybtrfs /dev/sd{b,c,d}  ##将sdb sdc sdd 格式化为btrfs系统,并且设置卷标为‘mybtrfs’
	btrfs-progs v3.19.1
	See http://btrfs.wiki.kernel.org for more information.

	Turning ON incompat feature 'extref': increased hardlink limit per file to 65536
	Turning ON incompat feature 'skinny-metadata': reduced-size metadata extent refs
	adding device /dev/sdc id 2
	adding device /dev/sdd id 3
	fs created label mybtrfs on /dev/sdb
		nodesize 16384 leafsize 16384 sectorsize 4096 size 60.00GiB
	[root@centos7 ~]# btrfs filesystem show  ##查看系统上的btrfs文件系统
	Label: 'mybtrfs'  uuid: 290c59ec-8741-4b7c-a542-0bc960f89064
		Total devices 3 FS bytes used 112.00KiB
		devid    1 size 20.00GiB used 2.02GiB path /dev/sdb
		devid    2 size 20.00GiB used 1.01GiB path /dev/sdc
		devid    3 size 20.00GiB used 2.01GiB path /dev/sdd
	[root@centos7 ~]# blkid /dev/sdb /dev/sdc /dev/sdd  ##查看设备属性
	/dev/sdb: LABEL="mybtrfs" UUID="290c59ec-8741-4b7c-a542-0bc960f89064" UUID_SUB="969b4438-e1e4-4b4a-b9f6-250ed3bfd1ff" TYPE="btrfs" 
	/dev/sdc: LABEL="mybtrfs" UUID="290c59ec-8741-4b7c-a542-0bc960f89064" UUID_SUB="ecbea82c-8c39-4f68-b602-865d9455fd9c" TYPE="btrfs" 
	/dev/sdd: LABEL="mybtrfs" UUID="290c59ec-8741-4b7c-a542-0bc960f89064" UUID_SUB="74e8dc21-c7c6-446a-a578-6a56331c6f0e" TYPE="btrfs"
	###UUID相同,不同的UUID_SUB (子卷)
   2、挂载文件系统 透明压缩
        [root@centos7 ~]# mkdir /{mydata,mycompress} ##创建挂载目录
	[root@centos7 ~]# mount -t btrfs /dev/sdb /mydata/  ##挂载文件系统
	[root@centos7 ~]# mount | grep /mydata ##挂载成功
	/dev/sdb on /mydata type btrfs (rw,relatime,seclabel,space_cache)
	[root@centos7 ~]# btrfs filesystem df /mydata/ ##查看文件系统挂载点空间使用信息
	Data, RAID0: total=3.00GiB, used=1.00MiB
	System, RAID1: total=8.00MiB, used=16.00KiB
	System, single: total=4.00MiB, used=0.00B
	Metadata, RAID1: total=1.00GiB, used=112.00KiB
	Metadata, single: total=8.00MiB, used=0.00B
	GlobalReserve, single: total=16.00MiB, used=0.00B
	[root@centos7 ~]# df -h /dev/sdb ##空间使用情况
	Filesystem      Size  Used Avail Use% Mounted on
	/dev/sdb         60G   18M   57G   1% /mydata
	[root@centos7 ~]# btrfs filesystem usage /mydata  ##详细情况
	Overall:
		Device size:		  60.00GiB
		Device allocated:		   5.03GiB
		Device unallocated:		  54.97GiB
		Device missing:		     0.00B
		Used:			   1.25MiB
		Free (estimated):		  57.97GiB	(min: 30.49GiB)
		Data ratio:			      1.00
		Metadata ratio:		      1.99
		Global reserve:		  16.00MiB	(used: 0.00B)

	Data,RAID0: Size:3.00GiB, Used:1.00MiB
	   /dev/sdb	   1.00GiB
	   /dev/sdc	   1.00GiB
	   /dev/sdd	   1.00GiB

	Metadata,single: Size:8.00MiB, Used:0.00B
	   /dev/sdb	   8.00MiB

	Metadata,RAID1: Size:1.00GiB, Used:112.00KiB
	   /dev/sdb	   1.00GiB
	   /dev/sdd	   1.00GiB

	System,single: Size:4.00MiB, Used:0.00B
	   /dev/sdb	   4.00MiB

	System,RAID1: Size:8.00MiB, Used:16.00KiB
	   /dev/sdc	   8.00MiB
	   /dev/sdd	   8.00MiB
	###透明压缩机制:
	[root@centos7 ~]# umount /dev/sdb
	[root@centos7 ~]# mount -o compress=zlib /dev/sdb /mycompress/
	[root@centos7 ~]# mount | grep /mycompress
	/dev/sdb on /mycompress type btrfs (rw,relatime,seclabel,compress=zlib,space_cache)
   3、调整btrfs文件系统大小:(扩大、缩小)
        #####联机缩小文件系统#####
	[root@centos7 ~]# btrfs filesystem resize -15G /mydata
	Resize '/mydata' of '-15G'
	[root@centos7 ~]# df -h | grep /dev/sdb
	Filesystem               Size  Used Avail Use% Mounted on
	/dev/sdb                  45G   18M   45G   1% /mydata
	##注意:缩小时,空间不能超出单块硬盘空闲空间
	#####联机扩大文件系统#####
	[root@centos7 ~]# btrfs filesystem resize +10G /mydata
	Resize '/mydata' of '+10G'
	[root@centos7 ~]# df -h | grep /dev/sdb
	Filesystem               Size  Used Avail Use% Mounted on
	/dev/sdb                  55G   18M   45G   1% /mydata
   4、增大物理边界 (增加一块硬盘/dev/sde 20G)
	[root@centos7 ~]# btrfs device add /dev/sde /mydata ##增大物理边界
	[root@centos7 ~]# df -h | grep /mydata
	Filesystem               Size  Used Avail Use% Mounted on
	/dev/sdb                  75G   18M   74G   1% /mydata
	[root@centos7 ~]# btrfs filesystem show ##查看信息
	Label: 'mybtrfs'  uuid: 290c59ec-8741-4b7c-a542-0bc960f89064
		Total devices 4 FS bytes used 960.00KiB
		devid    1 size 15.00GiB used 1.01GiB path /dev/sdb
		devid    2 size 20.00GiB used 1.26GiB path /dev/sdc
		devid    3 size 20.00GiB used 1.26GiB path /dev/sdd
		devid    4 size 20.00GiB used 0.00B path /dev/sde
   5、平衡btrfs文件系统
	[root@centos7 ~]# btrfs balance start -mconvert=raid5 -dconvert=raid1 /mydata ##平衡数据,并且元数据存储转换为raid5 数据文件存储转换为raid1
	Done, had to relocate 5 out of 5 chunks
	[root@centos7 ~]# btrfs filesystem show ##查看简要信息
	Label: 'mybtrfs'  uuid: 290c59ec-8741-4b7c-a542-0bc960f89064
		Total devices 4 FS bytes used 656.00KiB
		devid    1 size 15.00GiB used 384.00MiB path /dev/sdb
		devid    2 size 20.00GiB used 1.38GiB path /dev/sdc
		devid    3 size 20.00GiB used 384.00MiB path /dev/sdd
		devid    4 size 20.00GiB used 1.38GiB path /dev/sde

	[root@centos7 ~]# btrfs filesystem df  /mydata
	Data, RAID1: total=1.00GiB, used=528.00KiB
	System, RAID5: total=96.00MiB, used=16.00KiB
	Metadata, RAID5: total=1.03GiB, used=112.00KiB
	GlobalReserve, single: total=16.00MiB, used=0.00B

	[root@centos7 ~]# btrfs filesystem usage /mydata ##查看详细信息
	WARNING: RAID56 detected, not implemented
	WARNING: RAID56 detected, not implemented
	Overall:
		Device size:		  75.00GiB
		Device allocated:		   2.00GiB
		Device unallocated:		  73.00GiB
		Device missing:		     0.00B
		Used:			   1.03MiB
		Free (estimated):		  37.50GiB	(min: 37.50GiB)
		Data ratio:			      2.00
		Metadata ratio:		      0.00
		Global reserve:		  16.00MiB	(used: 0.00B)

	Data,RAID1: Size:1.00GiB, Used:528.00KiB
	   /dev/sdc	   1.00GiB
	   /dev/sde	   1.00GiB

	Metadata,RAID5: Size:1.03GiB, Used:112.00KiB
	   /dev/sdb	 352.00MiB
	   /dev/sdc	 352.00MiB
	   /dev/sdd	 352.00MiB
	   /dev/sde	 352.00MiB

	System,RAID5: Size:96.00MiB, Used:16.00KiB
	   /dev/sdb	  32.00MiB
	   /dev/sdc	  32.00MiB
	   /dev/sdd	  32.00MiB
	   /dev/sde	  32.00MiB

	Unallocated:
	   /dev/sdb	  14.62GiB
	   /dev/sdc	  18.62GiB
	   /dev/sdd	  19.62GiB
	   /dev/sde	  18.62GiB
   6、减小物理边界 (删除硬盘/dev/sdc 20G)
	[root@centos7 ~]# btrfs device delete /dev/sdc /mydata/ ###减小物理边界
	[root@centos7 ~]# df -h | grep /mydata ##查看信息
	/dev/sdb                  28G   17M   20G   1% /mydata
	[root@centos7 ~]# btrfs filesystem usage /mydata ##查看详细信息
	WARNING: RAID56 detected, not implemented
	WARNING: RAID56 detected, not implemented
	Overall:
		Device size:		  55.00GiB
		Device allocated:		   2.00GiB
		Device unallocated:		  53.00GiB
		Device missing:		     0.00B
		Used:			   1.03MiB
		Free (estimated):		  27.50GiB	(min: 27.50GiB)
		Data ratio:			      2.00
		Metadata ratio:		      0.00
		Global reserve:		  16.00MiB	(used: 0.00B)

	Data,RAID1: Size:1.00GiB, Used:528.00KiB
	   /dev/sdd	   1.00GiB
	   /dev/sde	   1.00GiB

	Metadata,RAID5: Size:1.00GiB, Used:112.00KiB
	   /dev/sdb	 512.00MiB
	   /dev/sdd	 512.00MiB
	   /dev/sde	 512.00MiB

	System,RAID5: Size:64.00MiB, Used:16.00KiB
	   /dev/sdb	  32.00MiB
	   /dev/sdd	  32.00MiB
	   /dev/sde	  32.00MiB

	Unallocated:
	   /dev/sdb	  14.47GiB
	   /dev/sdd	  18.47GiB
	   /dev/sde	  18.47GiB
	[root@centos7 ~]# cd /mydata/ ###查看数据完好
	[root@centos7 mydata]# ll
	total 24
	-rw-r--r--. 1 root root   465 Apr 26 23:18 fstab
	-rw-r--r--. 1 root root 13948 Apr 26 23:18 functions
	-rw-r--r--. 1 root root    23 Apr 26 23:18 issue
	[root@centos7 mydata]# cat fstab 
	#
	# /etc/fstab
	# Created by anaconda on Tue Apr 12 13:40:11 2016
	#
	# Accessible filesystems, by reference, are maintained under '/dev/disk'
	# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
	#
	/dev/mapper/centos-root /                       xfs     defaults        0 0
	UUID=ccdd0c89-e55a-4842-8168-364e7a767225 /boot	xfs     defaults        0 0
	/dev/mapper/centos-swap swap                    swap    defaults        0 0
   7、btrfs子卷管理
	#####创建子卷 log 和 htdoc #####
	[root@centos7 mydata]# btrfs subvolume create /mydata/log
	Create subvolume '/mydata/log'
	[root@centos7 mydata]# btrfs subvolume create /mydata/htdoc
	Create subvolume '/mydata/htdoc'
	[root@centos7 mydata]# btrfs subvolume list /mydata ##查看子卷
	ID 264 gen 87 top level 5 path log  # #ID 262是子卷log的ID,可以用该ID来挂载该卷
	ID 265 gen 88 top level 5 path htdoc
	[root@centos7 ~]# ll /mydata/ ##查看在父卷下生成子卷log和htdoc
	total 24
	-rw-r--r--. 1 root root   465 Apr 26 23:18 fstab
	-rw-r--r--. 1 root root 13948 Apr 26 23:18 functions
	drwxr-xr-x. 1 root root     0 Apr 26 23:42 htdoc
	-rw-r--r--. 1 root root    23 Apr 26 23:18 issue
	drwxr-xr-x. 1 root root     0 Apr 26 23:42 log
	#####挂载子卷#####
	[root@centos7 ~]# mount /dev/sdb /mydata/
	[root@centos7 ~]# mount -o subvol=log /dev/sdc /log ##将子卷单独挂载到/log目录
	[root@centos7 ~]# ll /log/  ##目录为空
	total 0
	[root@centos7 ~]# btrfs subvolume show /log  ##查看子卷信息
	/log
		Name: 			log
		uuid: 			67ef54e5-d58a-dd47-bd4a-9c64be59cfca
		Parent uuid: 		-
		Creation time: 		2016-04-26 23:42:21
		Object ID: 		264
		Generation (Gen): 	90
		Gen at creation: 	87
		Parent: 		5
		Top Level: 		5
		Flags: 			-
		Snapshot(s):
	[root@centos7 ~]# cp /var/log/messages /log ##向子卷拷贝文件
	[root@centos7 ~]# ll /log
	total 164
	-rw-------. 1 root root 164212 Apr 27 00:07 messages
	[root@centos7 ~]# umount /log ##卸载子卷
	[root@centos7 ~]# ll /mydata/log/messages  ##查看父卷
	-rw-------. 1 root root 164212 Apr 27 00:07 /mydata/log/messages
	##子卷卸载,但是通过父卷可以查看文件,说明挂载了父卷也就同时挂载了子卷
	[root@centos7 ~]# umount /mydata ##卸载父卷
	[root@centos7 ~]# mount -o subvol=log  /dev/sdb /mydata ##单独挂载子卷
	[root@centos7 ~]# ll /mydata ##只能看到子卷文件,而看不到父卷文件
	total 164
	-rw-------. 1 root root 164212 Apr 27 00:07 messages
	##子卷,父卷可以单独挂载
	#####子卷快照#####
	[root@centos7 ~]# mount -o subvol=log /dev/sdb /log  ###单独挂载子卷
	[root@centos7 ~]# cp /etc/inittab /log/  ##拷贝文件到子卷
	[root@centos7 ~]# ll /log/
	total 168
	-rw-r--r--. 1 root root    511 Apr 27 00:26 inittab
	-rw-------. 1 root root 164212 Apr 27 00:07 messages
	[root@centos7 ~]# btrfs subvolume snapshot /mydata/log/ /mydata/log_snapshot ###创建子卷快照log_snapshot
	Create a snapshot of '/mydata/log/' in '/mydata/log_snapshot'
	[root@centos7 ~]# btrfs subvolume list /mydata ##查看创建的子卷成功
	ID 264 gen 98 top level 5 path log
	ID 265 gen 98 top level 5 path log_snapshot
	[root@centos7 ~]# ll /mydata/log_snapshot/ ##快照卷文件与子卷文件相同
	total 168
	-rw-r--r--. 1 root root    511 Apr 27 00:26 inittab
	-rw-------. 1 root root 164212 Apr 27 00:07 messages
	[root@centos7 ~]# cp /etc/passwd /log/ ###更新子卷文件 新增/删除文件
	[root@centos7 ~]# rm -rf /log/messages
	[root@centos7 ~]# ll /log/
	total 8
	-rw-r--r--. 1 root root  511 Apr 27 00:26 inittab
	-rw-r--r--. 1 root root 1341 Apr 27 00:29 passwd
	[root@centos7 ~]# ll /mydata/log_snapshot/  ###快照卷文件没有变化
	total 168
	-rw-r--r--. 1 root root    511 Apr 27 00:26 inittab
	-rw-------. 1 root root 164212 Apr 27 00:07 messages
	#####删除子卷#####
	[root@centos7 ~]# btrfs subvolume delete /mydata/htdoc ##删除子卷htdoc
	Delete subvolume (no-commit): '/mydata/htdoc'
	[root@centos7 ~]# btrfs subvolume delete /mydata/log_snapshot/
	Delete subvolume (no-commit): '/mydata/log_snapshot'
	[root@centos7 ~]# btrfs subvolume list /mydata ##查看信息
	ID 264 gen 91 top level 5 path log
   8、ext文件系统和btrfs文件系统之间转换
	###将/dev/sde 从btrfs文件系统中移除
	[root@centos7 ~]# btrfs device delete /dev/sde /mydata/ ##从btrfs中移除设备
	[root@centos7 ~]# fdisk /dev/sde ##分区
	[root@centos7 ~]# mkfs.ext4 /dev/sde1 ##将分区格式化为ext4文件系统
	[root@centos7 ~]# mount /dev/sde1 /mnt ##挂载ext4文件系统
	[root@centos7 ~]# cp /etc/fstab /mnt ##拷贝文件到ext4文件系统中
	[root@centos7 ~]# ll /mnt
	total 20
	-rw-r--r--. 1 root root   465 Apr 27 00:53 fstab
	drwx------. 2 root root 16384 Apr 27 00:52 lost+found
	###将ext文件系统转换为btrfs文件系统
	[root@centos7 ~]# umount /mnt ##卸载,不要在线转换
	[root@centos7 ~]# btrfs-convert /dev/sde1 ##转换文件系统
	creating btrfs metadata.
	copy inodes [o] [         0/        12]
	creating ext2fs image file.
	cleaning up system chunk.
	conversion complete.
	[root@centos7 ~]# blkid /dev/sde1 ##查看信息
	/dev/sde1: UUID="916f7a39-17ef-491e-b4bc-45e1b4c9eb3b" UUID_SUB="154b3bae-7fa5-4753-b357-44c63cecb24a" TYPE="btrfs"
	[root@centos7 ~]# mount /dev/sde1 /mnt ##重新挂载
	[root@centos7 ~]# ll /mnt ##查看信息
	total 20
	drwxr-xr-x. 1 root root  10 Apr 27 00:56 ext2_saved
	-rw-r--r--. 1 root root 465 Apr 27 00:53 fstab
	drwx------. 1 root root   0 Apr 27 00:52 lost+found
	[root@centos7 ~]# cat /mnt/fstab ##查看文件完好无损
	#
	# /etc/fstab
	# Created by anaconda on Tue Apr 12 13:40:11 2016
	#
	# Accessible filesystems, by reference, are maintained under '/dev/disk'
	# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
	#
	/dev/mapper/centos-root /                       xfs     defaults        0 0
	UUID=ccdd0c89-e55a-4842-8168-364e7a767225 /boot xfs     defaults        0 0
	/dev/mapper/centos-swap swap                    swap    defaults        0 0
	###将btrfs文件系统转换为ext文件系统
	###从上面/mnt目录下多了个ext2_saved目录,正是有这个目录,btrfs文件系统才能重新转换到ext文件系统
	[root@centos7 ~]# umount /mnt 
	[root@centos7 ~]# btrfs-convert -r /dev/sde1
	rollback complete.
	  [root@centos7 ~]# blkid /dev/sde1
	/dev/sde1: UUID="832141e1-9d9d-4bc1-9189-b2685fef38f3" TYPE="ext4" 
	[root@centos7 ~]# mount /dev/sde1 /mnt
	[root@centos7 ~]# ll /mnt
	total 20
	-rw-r--r--. 1 root root   465 Apr 27 00:53 fstab
	drwx------. 2 root root 16384 Apr 27 00:52 lost+found
	[root@centos7 ~]# cat /mnt/fstab 
	#
	# /etc/fstab
	# Created by anaconda on Tue Apr 12 13:40:11 2016
	#
	# Accessible filesystems, by reference, are maintained under '/dev/disk'
	# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
	#
	/dev/mapper/centos-root /                       xfs     defaults        0 0
	UUID=ccdd0c89-e55a-4842-8168-364e7a767225 /boot   xfs     defaults        0 0
	/dev/mapper/centos-swap swap                    swap    defaults        0 0

总结

本文总结了btrfs文件系统的简单介绍和基本使用,水平有限,如有错误请指出,谢谢~~

作者: chrony
感谢: MageEdu

原创文章,作者:chrony,如若转载,请注明出处:http://www.178linux.com/15556

(0)
chronychrony
上一篇 2016-04-27
下一篇 2016-04-27

相关推荐

  • Linux文件查找之find秘笈

    前言     Linux的基本特点之一是一切皆文件,在系统管理过程中难免会需要查找特定类型的文件,那么问题来了:如何进行有效且准确的查找呢?本文将对Linux系统中的文件查找工具及用法进行详细讲解。 常用工具对比     常用的文件查找工具主要有locate(非实时查找)和find(实时查找)。locate查找依赖于索…

    2015-03-23
  • 谷歌三大核心技术(一)The Google File System中文版

    摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。 虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和技术环境的分析为基础的,不管现在还是…

    Linux干货 2015-04-13
  • 简明 Vim 练级攻略

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。 ——————————正文开始—————————— …

    Linux干货 2015-04-04
  • Memcached实现Tomcat的session会话绑定

    memcached介绍:  Memcached是一个高性能的分布式内存对称缓存系统;通过缓存查询数据库结果,介绍数据库访问次数,以提高web应用的速度、提高扩展性。  Memcached特点:   协议简单   基于libevent的事件处理   内置内存存储方式  memcached不互相通信的分…

    Linux干货 2015-08-01
  • php的serialize序列化和json性能测试

    最近需要对大数组做存储,需要在serialize序列化和json之间做了选择。因此需要做了性能测试。 在php5.2之前对数组存储的时候,大都使用serialize系列化。php5.2之后,开始内置了 JSON 的支持。 在网上看到有些资料说:json_encode和json_decode比内置的serialize和unserialize…

    Linux干货 2015-04-07
  • Elasticsearch 5.0 集群

    IT运维 www.chinasa.net 下载地址:https://www.elastic.co/downloads/elasticsearch 1、JDK 安装略过 node1 部署 2、Elasticsearch安装 #tar zxvf elasticsearch-5.0.0.tar.gz -C /opt/ #cd /opt #mv elast…

    系统运维 2016-12-27