2014年4月10日

【翻译】ZFS - Ondiskformat 第二章 块指针、间接块

摘要: (翻译 《ZFS On-Disk Specification》, 由于是2006年给出的文档,与当前ZFS系统肯定有很多的不同,但是也是一份相当有帮助的ZFS学习文档)数据在主存和磁盘知己恩的传输单元称为“块(block)”。ZFS中,块指针(blkptr_t)是一个128字节的结构体,用来定位磁盘上数据的物理位置、验证其合法性以及描述该数据。128字节的blkptr_t结构体的布局如下图所示:2.1 DVA(Data Virtual Address) 数据的虚拟地址(DVA)是有块指针中的vdev和offset两个部分构成的。比如vdev1和offset1构成了一个DVA(dva1),ZFS 阅读全文

posted @ 2014-04-10 20:22 nnusun 阅读(1517) 评论(0) 推荐(0) 编辑

2014年4月3日

ZFS - vdev label 的加载与同步

摘要: 前一篇文章中我们说明了ZFS的Label在磁盘上的存储形式,这篇文章中,我们将详细说明一下Vdev在内存中的组织形式以及相关的实现细节。1.vdev label的内存结构上一篇中我们介绍过,vdev的Label在磁盘上的存储备份成了4部分,第一部分8KB,对应VTOC的卷标;第二部分8KB,对应Boot Header信息;第三部分112K,对应nvlist键值对;第四部分128K,对应uberblock数组。这四个在以下的结构体(vdev_label)中可以很清楚地看出。 1 typedef struct vdev_label { 2 char vl_pad1[VDEV_PA... 阅读全文

posted @ 2014-04-03 21:57 nnusun 阅读(2577) 评论(0) 推荐(0) 编辑

【翻译】ZFS - Ondiskformat 第一章 虚拟设备(vdevs),Vdev Label以及Boot Block

摘要: (翻译《ZFS On-Disk Specification》,由于是2006年给出的文档,与当前ZFS系统肯定有很多的不同,但是也是一份相当有帮助的ZFS学习文档)1.1虚拟设备ZFS存储池是由一个虚拟设备集合构成的。这里面一共有两种虚拟设备:物理虚拟设备(physical virtual devices,也称为叶虚拟设备,leaf vdevs),以及逻辑虚拟设备(logical virtual devices,也称为内部虚拟设备,interior vdevs)。物理设备是一个可写的块设备(比如一个磁盘);逻辑设备在概念上的一组物理设备。Vdev是通过一个以物理设备为叶子节点的树来管理的。每一 阅读全文

posted @ 2014-04-03 21:48 nnusun 阅读(3764) 评论(0) 推荐(0) 编辑

2014年3月24日

ZFS - 文件系统简介

摘要: 能够跟结识ZFS是由于Solaris,虽然当时ZFS还不是Solaris的默认文件系统,但是它成为了Solaris操作系统中吸引我的最大亮点。 一开始接触ZFS,我就被它无尽的存储空间和像管理内存一样管理管理磁盘的方式深深地吸引了,但是之后很长的一段时间里,​我都是只限于使用ZFS。后来,由于工作原因,我开始调查ZFS的测试工具,在那段过程中,ZFS的各种特性更加令我着迷,​这也使我迫切希望学习ZFS的源码。虽然过了这么长时间,我也只是学到了一点皮毛,但还是想把在这一经典巨作的学习成果跟大家分享。 其实,选择今天作为ZFS系列博客的开始,也是是因为今天是opensolaris.org关闭一.. 阅读全文

posted @ 2014-03-24 19:24 nnusun 阅读(5153) 评论(1) 推荐(0) 编辑

2011年12月22日

_CommandPtr 添加参数 0xC0000005: Access violation writing location 0xcccccccc 错误

摘要: 今天在写一个程序,其中有个函数是使用C++通过ADO调用SQLSERVER存储过程的。在执行过程中遇到了这样的错误系统:win 7 x64数据库:SQLSERVER 2005弄了2个小时都没有解决,最后在http://stackoverflow.com/questions/7968280/msado60-backcompat-crashes-in-ccommandcreateparameter找到了解决方法,这篇文章里面的情况除了数据库版本,发生错误的位置全部都是一样的。记录下来希望给大家一点帮助,也给自己一个提示,呵呵! 阅读全文

posted @ 2011-12-22 15:11 nnusun 阅读(1480) 评论(0) 推荐(0) 编辑

2011年11月30日

fatal error LNK1104: cannot open file 'libboost_regex-vc100-mt-gd-1_48.lib'

摘要: Vs 中添加boost库编译的时候出现了这个问题弄了好久才找出问题两个点:1.Project-->属性-->C/C++-->General-->Additional Include Derectories中加入你的boost目录2.Project-->属性-->Linker-->General-->Additional Library Derectories中加入<boost>/stage/lib编译成功! 阅读全文

posted @ 2011-11-30 21:43 nnusun 阅读(4080) 评论(0) 推荐(0) 编辑

2011年9月1日

英文操作系统 Myeclipse Console 乱码问题

摘要: 安装了Myeclipse 9之后,web应用程序,tomcat控制台乱码按照网上的方法1.Windows->Preferences->general->Workspace->Text file encoding->Other框中的Text file encoding改为UTF-8。2.Windows->Preferences->General->Editors->TextEditors->Spelling Encoding 改为UTF-83.Servers窗口中,tomcat服务器右击->runconfiguration-> 阅读全文

posted @ 2011-09-01 21:47 nnusun 阅读(721) 评论(5) 推荐(1) 编辑

2011年8月4日

Linux 基本操作命令

摘要: 以下为《鸟哥的Linux私房菜》的学习总结1.转换语系LANG=enLANGUAGE=enLC_ALL=enLC_CTYPE=enLC_TIME=en2.显示日期命令 date [root@sun~]# dateTue Aug 2 10:28:08 CST 2011 date+%Y/%m/%d [root@sun~]# date +%Y/%m/%d2011/08/02显示日历 cal[root@sun ~]# cal August 2011 Su Mo Tu We Th Fr Sa1 2 3 4 5 67 8 9 10 11 12 1314 15 16 17 18 19 2021 22 23 阅读全文

posted @ 2011-08-04 23:29 nnusun 阅读(3310) 评论(0) 推荐(0) 编辑

2011年7月31日

myeclipse 9.0 激活 for win7 redhat mac 亲测

摘要: 首先下载激活工具:激活工具下载首先:windows下激活,这是最简单的了。1.首先确保安装了java6和myeclipse9.0,并没有打开MyEclipse9.0。找到MyEclipse的安装目录(具体根据个人安装情况而定,可以使用搜索),我的电脑上默认是在:C:\Users\Sun\AppData\Local\MyEclipse(注意AppData是隐藏文件)找到Common\plugins\com.genuitec.eclipse.core_9.0.0.me201103181703.jar,这个文件,使用解压缩软件打开(比如winrar for win, betterzip for ma 阅读全文

posted @ 2011-07-31 11:46 nnusun 阅读(6193) 评论(1) 推荐(1) 编辑

2011年7月17日

Linux vsftpd 安装 配置

摘要: -- 安装(以Redhat为例) mount redhat的安装光盘 光盘根目录下Server文件夹下(或Packages文件夹下)有好多rpm文件,找到一个叫vsftpd-×××.rpm的文件-- 相关命令 ascii // 以ascii方式传送文件 binary // 以二进制方式传送文件(安装文件需要这种方式传送) bye // 离开 cd // 进入目录 cdup // 进入上层目录 chmod // 改变远程主机文件权限 delete // 删除远程主机上的文件 get // 获取文件 mget // 获取多个文件 put/mput // 与get对应 阅读全文

posted @ 2011-07-17 18:46 nnusun 阅读(815) 评论(0) 推荐(0) 编辑

Linux IO接口 监控 (iostat)

摘要: -- iostatiostat 命令是系统管理经常会用到的一个常用命令,用来监视系统IO设备负载。虽然很简单,但是却很有用,iostat生成的报告分为两部分,上面报告是系统的综合概述,下面报告主要是针对磁盘使用情况进行报告。iostat命令的用法:# iostat ---------不加参数,显示所有 tty、CPU 和磁盘显示引导后的单一历史记录报告。# iostat –d hdisk0 1 -------以1秒为单位持续显示磁盘hdisk0 读写信息# iostat 2 6 -------以2秒为单位,打印5个报告信息iostat命令参数:-a打印所有适配器的吞吐量-s打印系统吞吐量信息- 阅读全文

posted @ 2011-07-17 17:58 nnusun 阅读(967) 评论(0) 推荐(0) 编辑

linux 查看系统相关 命令

摘要: -- 查看cpu型号 [root@sun Desktop]# grep "model name" /proc/cpuinfo model name : Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz [root@sun Desktop]# grep "model name" /proc/cpuinfo model name : Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz [root@sun Desktop]# cat /proc/cpuinfo processor : 0 v 阅读全文

posted @ 2011-07-17 17:43 nnusun 阅读(244) 评论(0) 推荐(0) 编辑

linux 挂载外部存储设备 (mount)

摘要: linux 挂在外置设备相关挂载时,前面是需要挂载的目录,后面是target,target目录可以不为空,当挂载成功之后target目录中的原有数据不可见,直到卸载挂载设备一、光驱 mount -t iso9660 /dev/cdrom /mnt // 将光驱中的数据挂载到 /mnt目录下二、U盘/fat格式 mount -t vfat /dev/sda1 /mnt /usb // 假设U盘硬件名称为:sda1三、NTFS格式 一般情况下linux不能识别NTFS格式(除非内核支持该文件系统) 想要挂载NTFS格式的文件,需要通过其他软件帮助——ntfs-3g 下载地址:http://www. 阅读全文

posted @ 2011-07-17 17:40 nnusun 阅读(2821) 评论(0) 推荐(0) 编辑

linux 防火墙 命令

摘要: -- 永久设置防火墙(重启不恢复) 开启:chkconfig iptables on 关闭:chkconfig iptables off-- 暂时设置防火墙(重启后恢复) 开启:service iptables start 关闭:service iptables stop 阅读全文

posted @ 2011-07-17 17:35 nnusun 阅读(340) 评论(0) 推荐(0) 编辑

2011年6月2日

Visual Studio自动关闭

摘要: VS 自动关闭 阅读全文

posted @ 2011-06-02 20:47 nnusun 阅读(460) 评论(1) 推荐(0) 编辑

导航