当前位置: 首页 > news >正文

管理部门网站建设说明中国卫生健康网入口

管理部门网站建设说明,中国卫生健康网入口,做网站教程 第一课,重庆找做墩子网站我们先看一张图#xff1a; 这张图大体上描述了 Linux 系统上#xff0c;应用程序对磁盘上的文件进行读写时#xff0c;从上到下经历了哪些事情。 这篇文章就以这张图为基础#xff0c;介绍 Linux 在 I/O 上做了哪些事情。 文件系统 什么是文件系统 文件系统#xff0…我们先看一张图 这张图大体上描述了 Linux 系统上应用程序对磁盘上的文件进行读写时从上到下经历了哪些事情。 这篇文章就以这张图为基础介绍 Linux 在 I/O 上做了哪些事情。 文件系统 什么是文件系统 文件系统本身是对存储设备上的文件进行组织管理的机制。组织方式不同就会形成不同的文件系统。比如常见的 Ext4、XFS、ZFS 以及网络文件系统 NFS 等等。 但是不同类型的文件系统标准和接口可能各有差异我们在做应用开发的时候却很少关心系统调用以下的具体实现大部分时候都是直接系统调用 open, read, write, close 来实现应用程序的功能不会再去关注我们具体用了什么文件系统UFS、XFS、Ext4、ZFS磁盘是什么接口IDE、SCSISASSATA 等磁盘是什么存储介质HDD、SSD 应用开发者之所以这么爽各种复杂细节都不用管直接调接口是因为内核为我们做了大量的有技术含量的脏活累活。开始的那张图看到 Linux 在各种不同的文件系统之上虚拟了一个 VFS目的就是统一各种不同文件系统的标准和接口让开发者可以使用相同的系统调用来使用不同的文件系统。 文件系统如何工作VFS Linux 系统下的文件 在 Linux 中一切皆文件。不仅普通的文件和目录就连块设备、套接字、管道等也都要通过统一的文件系统来管理。 用 ls -l 命令看最前面的字符可以看到这个文件是什么类型brw-r--r-- 1 root root 1, 2 4月 25 11:03 bnod // 块设备文件 crw-r--r-- 1 root root 1, 2 4月 25 11:04 cnod // 符号设备文件 drwxr-xr-x 2 wrn3552 wrn3552 6 4月 25 11:01 dir // 目录 -rw-r--r-- 1 wrn3552 wrn3552 0 4月 25 11:01 file // 普通文件 prw-r--r-- 1 root root 0 4月 25 11:04 pipeline // 有名管道 srwxr-xr-x 1 root root 0 4月 25 11:06 socket.sock // socket文件 lrwxrwxrwx 1 root root 4 4月 25 11:04 softlink - file // 软连接 -rw-r--r-- 2 wrn3552 wrn3552 0 4月 25 11:07 hardlink // 硬链接本质也是普通文件Linux 文件系统设计了两个数据结构来管理这些不同种类的文件 inode(index node)索引节点dentry(directory entry)目录项 inode 和 dentry inode inode 是用来记录文件的 metadata所谓 metadata 在 Wikipedia 上的描述是 data of data其实指的就是文件的各种属性比如 inode 编号、文件大小、访问权限、修改日期、数据的位置等。 wrn3552novadev:~/playground$ stat file文件file大小0 块0 IO 块4096 普通空文件 设备fe21h/65057d Inode32828 硬链接2 权限(0644/-rw-r--r--) Uid( 3041/ wrn3552) Gid( 3041/ wrn3552) 最近访问2021-04-25 11:07:59.603745534 0800 最近更改2021-04-25 11:07:59.603745534 0800 最近改动2021-04-25 11:08:04.739848692 0800 创建时间-inode 和文件一一对应它跟文件内容一样都会被持久化存储到磁盘中。所以inode 同样占用磁盘空间只不过相对于文件来说它大小固定且大小不算大。 dentry dentry 用来记录文件的名字、inode 指针以及与其他 dentry 的关联关系。 wrn3552novadev:~/playground$ tree . ├── dir │ └── file_in_dir ├── file └── hardlink文件的名字像 dir、file、hardlink、file_in_dir 这些名字是记录在 dentry 里的inode 指针就是指向这个文件的 inode与其他 dentry 的关联关系其实就是每个文件的层级关系哪个文件在哪个文件下面构成了文件系统的目录结构 不同于 inodedentry 是由内核维护的一个内存数据结构所以通常也被叫做 dentry cache。 相关视频推荐 3个linux内核的秘密让你彻底搞懂文件系统 剖析Linux内核虚拟文件系统VFS架构 免费学习地址C/CLinux服务器开发/后台架构师 需要C/C Linux服务器架构师学习资料加qun812855908获取资料包括C/CLinuxgolang技术NginxZeroMQMySQLRedisfastdfsMongoDBZK流媒体CDNP2PK8SDockerTCP/IP协程DPDKffmpeg等免费分享 文件是如何存储在磁盘上的  这里有张图解释了文件是如何存储在磁盘上的首先磁盘再进行文件系统格式化的时候会分出来 3 个区 Superblockinode blocksdata blocks 其实还有 boot block可能会包含一些 bootstrap 代码在机器启动的时候被读到这里忽略其中 inode blocks 放的都是每个文件的 inodedata blocks 里放的是每个文件的内容数据。这里关注一下 superblock它包含了整个文件系统的 metadata具体有 inode/data block 总量、使用量、剩余量文件系统的格式属主等等各种属性 superblock 对于文件系统来说非常重要如果 superblock 损坏了文件系统就挂载不了了相应的文件也没办法读写。既然 superblock 这么重要那肯定不能只有一份坏了就没了它在系统中是有很多副本的在 superblock 损坏的时候可以使用 fsckFile System Check and repair来恢复。回到上面的那张图可以很清晰地看到文件的各种属性和文件的数据是如何存储在磁盘上的 dentry 里包含了文件的名字、目录结构、inode 指针inode 指针指向文件特定的 inode存在 inode blocks 里每个 inode 又指向 data blocks 里具体的 logical block这里的 logical block 存的就是文件具体的数据 这里解释一下什么是 logical block 对于不同存储介质的磁盘都有最小的读写单元 /sys/block/sda/queue/physical_block_size HDD 叫做 sector扇区SSD 叫做 page页面对于 hdd 来说每个 sector 大小 512Bytes对于 SSD 来说每个 page 大小不等和 cell 类型有关经典的大小是 4KB但是 Linux 觉得按照存储介质的最小读写单元来进行读写可能会有效率问题所以支持在文件系统格式化的时候指定 block size 的大小一般是把几个 physical_block 拼起来就成了一个 logical block /sys/block/sda/queue/logical_block_size 理论上应该是 logical_block_size physical_block_size但是有时候我们会看到 physical_block_size 4Klogical_block_size 512B 情况其实这是因为磁盘上做了一层 512B 的仿真emulation详情可参考 512e 和 4Kn ZFS 这里简单介绍一个广泛应用的文件系统 ZFS一些数据库应用也会用到 ZFS先看一张 zfs 的层级结构图 这是一张从底向上的图 将若干物理设备 disk 组成一个虚拟设备 vdev同时disk 也是一种 vdev再将若干个虚拟设备 vdev 加到一个 zpool 里在 zpool 的基础上创建 zfs 并挂载zvol 可以先不看我们没有用到 ZFS 的一些操作 创建 zpool root:~ # zpool create tank raidz /dev/ada1 /dev/ada2 /dev/ada3 raidz /dev/ada4 /dev/ada5 /dev/ada6 root:~ # zpool list tank NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT tank 11G 824K 11.0G - - 0% 0% 1.00x ONLINE - root:~ # zpool status tankpool: tankstate: ONLINEscan: none requested config:NAME STATE READ WRITE CKSUMtank ONLINE 0 0 0raidz1-0 ONLINE 0 0 0ada1 ONLINE 0 0 0ada2 ONLINE 0 0 0ada3 ONLINE 0 0 0raidz1-1 ONLINE 0 0 0ada4 ONLINE 0 0 0ada5 ONLINE 0 0 0ada6 ONLINE 0 0 0创建了一个名为 tank 的 zpool这里的 raidz 同 RAID5 除了 raidz 还支持其他方案 创建 zfs root:~ # zfs create -o mountpoint/mnt/srev tank/srev root:~ # df -h tank/srev Filesystem Size Used Avail Capacity Mounted on tank/srev 7.1G 117K 7.1G 0% /mnt/srev创建了一个 zfs挂载到了 /mnt/srev这里没有指定 zfs 的 quota创建的 zfs 大小即 zpool 大小 对 zfs 设置 quota root:~ # zfs set quota1G tank/srev root:~ # df -h tank/srev Filesystem Size Used Avail Capacity Mounted on tank/srev 1.0G 118K 1.0G 0% /mnt/srevZFS 特性 Pool 存储 上面的层级图和操作步骤可以看到 zfs 是基于 zpool 创建的zpool 可以动态扩容意味着存储空间也可以动态扩容而且可以创建多个文件系统文件系统共享完整的 zpool 空间无需预分配。 事务文件系统 zfs 的写操作是事务的意味着要么就没写要么就写成功了不会像其他文件系统那样应用打开了文件写入还没保存的时候断电导致文件为空。zfs 保证写操作事务采用的是 copy on write 的方式 当 block B 有修改变成 B1 的时候普通的文件系统会直接在 block B 原地进行修改变成 B1zfs 则会再另一个地方写 B1然后再在后面安全的时候对原来的 B 进行回收这样结果就不会出现 B 被打开而写失败的情况大不了就是 B1 没写成功 这个特性让 zfs 在断电后不需要执行 fsck 来检查磁盘中是否存在写操作失败需要恢复的情况大大提升了应用的可用性。 ARC 缓存 ZFS 中的 ARC(Adjustable Replacement Cache) 读缓存淘汰算法是基于 IBM 的 ARP(Adaptive Replacement Cache) 演化而来。在一些文件系统中实现的标准 LRU 算法其实是有缺陷的比如复制大文件之类的线性大量 I/O 操作导致缓存失效率猛增大量文件只读一次放到内存不会被再读坐等淘汰。 另外缓存可以根据时间来进行优化LRU最近最多使用也可以根据频率进行优化LFU最近最常使用这两种方法各有优劣但是没办法适应所有场景。 ARC 的设计就是尝试在 LRU 和 LFU 之间找到一个平衡根据当前的 I/O workload 来调整用 LRU 多一点还是 LFU 多一点。 ARC 定义了 4 个链表 LRU list最近最多使用的页面存具体数据LFU list最近最常使用的页面存具体数据Ghost list for LRU最近从 LRU 表淘汰下来的页面信息不存具体数据只存页面信息Ghost list for LFU最近从 LFU 表淘汰下来的页面信息不存具体数据只存页面信息 ARC 工作流程大致如下 LRU list 和 LFU list 填充和淘汰过程和标准算法一样当一个页面从 LRU list 淘汰下来时这个页面的信息会放到 LRU ghost 表中如果这个页面一直没被再次引用到那么这个页面的信息最终也会在 LRU ghost 表中被淘汰掉如果这个页面在 LRU ghost 表中未被淘汰的时候被再一次访问了这时候会引起一次幽灵phantom命中phantom 命中的时候事实上还是要把数据从磁盘第一次放缓存但是这时候系统知道刚刚被 LRU 表淘汰的页面又被访问到了说明 LRU list 太小了这时它会把 LRU list 长度加一LFU 长度减一对于 LFU 的过程也与上述过程类似 ZFS 参考资料 关于 ZFS 详细介绍可以参考 这篇文章 磁盘类型 磁盘根据不同的分类方式有各种不一样的类型。 磁盘的存储介质 根据磁盘的存储介质可以分两类大家都很熟悉 HDD机械硬盘SSD固态硬盘 磁盘的接口 根据磁盘接口分类 IDE (Integrated Drive Electronics)SCSI (Small Computer System Interface)SAS (Serial Attached SCSI)SATA (Serial ATA)... 不同的接口往往分配不同的设备名称。比如 IDE 设备会分配一个 hd 前缀的设备名SCSI 和 SATA 设备会分配一个 sd 前缀的设备名。如果是多块同类型的磁盘就会按照 a、b、c 等的字母顺序来编号。 Linux 对磁盘的管理 其实在 Linux 中磁盘实际上是作为一个块设备来管理的也就是以块为单位读写数据并且支持随机读写。每个块设备都会被赋予两个设备号分别是主、次设备号。主设备号用在驱动程序中用来区分设备类型而次设备号则是用来给多个同类设备编号。 g18-299 on ~# ls -l /dev/sda* brw-rw---- 1 root disk 8, 0 Apr 25 15:53 /dev/sda brw-rw---- 1 root disk 8, 1 Apr 25 15:53 /dev/sda1 brw-rw---- 1 root disk 8, 10 Apr 25 15:53 /dev/sda10 brw-rw---- 1 root disk 8, 2 Apr 25 15:53 /dev/sda2 brw-rw---- 1 root disk 8, 5 Apr 25 15:53 /dev/sda5 brw-rw---- 1 root disk 8, 6 Apr 25 15:53 /dev/sda6 brw-rw---- 1 root disk 8, 7 Apr 25 15:53 /dev/sda7 brw-rw---- 1 root disk 8, 8 Apr 25 15:53 /dev/sda8 brw-rw---- 1 root disk 8, 9 Apr 25 15:53 /dev/sda9这些 sda 磁盘主设备号都是 8表示它是一个 sd 类型的块设备次设备号 0-10 表示这些不同 sd 块设备的编号 Generic Block Layer 和 VFS 类似为了对上层屏蔽不同块设备的差异内核在文件系统和块设备之前抽象了一个 Generic Block Layer通用块层有时候一些人也会把下面的 I/O 调度层并到通用块层里表述。 这两层主要做两件事 跟 VFS 的功能类似。向上为文件系统和应用程序提供访问块设备的标准接口向下把各种异构的磁盘设备抽象为统一的块设备并提供统一框架来管理这些设备的驱动程序对 I/O 请求进行调度通过重新排序、合并等方式提高磁盘读写效率 下图是一个完整的 I/O 栈全景图 可以看到中间的 Block Layer 其实就是 Generic Block Layer在图中可以看到 Block Layer 的 I/O 调度分为两类分别表示单队列和多队列的调度 I/O schedulerblkmq I/O 调度 老版本的内核里只支持单队列的 I/O scheduler在 3.16 版本的内核开始支持多队列 blkmq这里介绍几种经典的 I/O 调度策略。 单队列 I/O scheduler NOOP事实上是个 FIFO 的队列只做基本的请求合并CFQCompletely Fair Queueing完全公平调度器给每个进程维护一个 I/O 调度队列按照时间片来均匀分布每个进程 I/O 请求DeadLine为读和写请求创建不同的 I/O 队列确保达到 deadline 的请求被优先处理 多队列 blkmq bfqBudget Fair Queueing也是公平调度器不过不是按时间片来分配而是按请求的扇区数量带宽kyber维护两个队列同步/读、异步/写同时严格限制发到这两个队列的请求数以保证相应时间mq-deadline多队列版本的 deadline 具体各种 I/O 调度策略可以参考 IOSchedulers关于 blkmq 可以参考 Linux Multi-Queue Block IO Queueing Mechanism (blk-mq) Details多队列调度可以参考 Block layer introduction part 2: the request layer 性能指标 一般来说 I/O 性能指标有这几个 使用率ioutil指的是磁盘处理 I/O 的时间百分比ioutil 只看有没有 I/O 请求不看 I/O 请求的大小。ioutil 越高表示一直都有 I/O 请求不代表磁盘无法响应新的 I/O 请求IOPS每秒的 I/O 请求数吞吐量/带宽每秒的 I/O 请求大小通常是 MB/s 或者 GB/s 为单位响应时间I/O 请求发出到收到响应的时间饱和度指的是磁盘处理 I/O 的繁忙程度。这个指标比较玄学没有直接的数据可以表示一般是根据平均队列请求长度或者响应时间跟基准测试的结果进行对比来估算 在做基准测试时还会分顺序/随机、读/写进行排列组合分别去测 IOPS 和带宽 上面的指标除了饱和度外其他都可以在监控系统中看到。Linux 也提供了一些命令来输出不同维度的 I/O 状态 iostat -d -x看各个设备的 I/O 状态数据来源 /proc/diskstatspidstat -d看近处的 I/Oiotop类似 top按 I/O 大小对进程排序
文章转载自:
http://www.morning.qinhuangdjy.cn.gov.cn.qinhuangdjy.cn
http://www.morning.dbddm.cn.gov.cn.dbddm.cn
http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn
http://www.morning.gcspr.cn.gov.cn.gcspr.cn
http://www.morning.qtltg.cn.gov.cn.qtltg.cn
http://www.morning.jbhhj.cn.gov.cn.jbhhj.cn
http://www.morning.lwcqh.cn.gov.cn.lwcqh.cn
http://www.morning.kztts.cn.gov.cn.kztts.cn
http://www.morning.skmzm.cn.gov.cn.skmzm.cn
http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn
http://www.morning.pwrkl.cn.gov.cn.pwrkl.cn
http://www.morning.rxpp.cn.gov.cn.rxpp.cn
http://www.morning.ddrdt.cn.gov.cn.ddrdt.cn
http://www.morning.tqygx.cn.gov.cn.tqygx.cn
http://www.morning.lmknf.cn.gov.cn.lmknf.cn
http://www.morning.pmghz.cn.gov.cn.pmghz.cn
http://www.morning.rnwmp.cn.gov.cn.rnwmp.cn
http://www.morning.nhpmn.cn.gov.cn.nhpmn.cn
http://www.morning.xkhhy.cn.gov.cn.xkhhy.cn
http://www.morning.xcyhy.cn.gov.cn.xcyhy.cn
http://www.morning.ljdjn.cn.gov.cn.ljdjn.cn
http://www.morning.dpsgq.cn.gov.cn.dpsgq.cn
http://www.morning.nzsx.cn.gov.cn.nzsx.cn
http://www.morning.mtdfn.cn.gov.cn.mtdfn.cn
http://www.morning.wmfmj.cn.gov.cn.wmfmj.cn
http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn
http://www.morning.dwyyf.cn.gov.cn.dwyyf.cn
http://www.morning.ypdmr.cn.gov.cn.ypdmr.cn
http://www.morning.gbfck.cn.gov.cn.gbfck.cn
http://www.morning.xfmwk.cn.gov.cn.xfmwk.cn
http://www.morning.ljjph.cn.gov.cn.ljjph.cn
http://www.morning.rmyt.cn.gov.cn.rmyt.cn
http://www.morning.wtdyq.cn.gov.cn.wtdyq.cn
http://www.morning.srjbs.cn.gov.cn.srjbs.cn
http://www.morning.xhkgl.cn.gov.cn.xhkgl.cn
http://www.morning.brkc.cn.gov.cn.brkc.cn
http://www.morning.wtdhm.cn.gov.cn.wtdhm.cn
http://www.morning.zrdhd.cn.gov.cn.zrdhd.cn
http://www.morning.tpnch.cn.gov.cn.tpnch.cn
http://www.morning.bysey.com.gov.cn.bysey.com
http://www.morning.rtqyy.cn.gov.cn.rtqyy.cn
http://www.morning.mrgby.cn.gov.cn.mrgby.cn
http://www.morning.smj78.cn.gov.cn.smj78.cn
http://www.morning.fkyrk.cn.gov.cn.fkyrk.cn
http://www.morning.rfljb.cn.gov.cn.rfljb.cn
http://www.morning.hsklc.cn.gov.cn.hsklc.cn
http://www.morning.zfhzx.cn.gov.cn.zfhzx.cn
http://www.morning.lbbrw.cn.gov.cn.lbbrw.cn
http://www.morning.wdrxh.cn.gov.cn.wdrxh.cn
http://www.morning.wtwhj.cn.gov.cn.wtwhj.cn
http://www.morning.fnnkl.cn.gov.cn.fnnkl.cn
http://www.morning.jhgxh.cn.gov.cn.jhgxh.cn
http://www.morning.xxrgt.cn.gov.cn.xxrgt.cn
http://www.morning.bttph.cn.gov.cn.bttph.cn
http://www.morning.rnht.cn.gov.cn.rnht.cn
http://www.morning.lprfk.cn.gov.cn.lprfk.cn
http://www.morning.zdzgf.cn.gov.cn.zdzgf.cn
http://www.morning.mqnbm.cn.gov.cn.mqnbm.cn
http://www.morning.ycwym.cn.gov.cn.ycwym.cn
http://www.morning.ntzbr.cn.gov.cn.ntzbr.cn
http://www.morning.mxhcf.cn.gov.cn.mxhcf.cn
http://www.morning.rkfh.cn.gov.cn.rkfh.cn
http://www.morning.nzkc.cn.gov.cn.nzkc.cn
http://www.morning.nfgbf.cn.gov.cn.nfgbf.cn
http://www.morning.rqfkh.cn.gov.cn.rqfkh.cn
http://www.morning.ypbdr.cn.gov.cn.ypbdr.cn
http://www.morning.mspkz.cn.gov.cn.mspkz.cn
http://www.morning.qrsrs.cn.gov.cn.qrsrs.cn
http://www.morning.dnqlba.cn.gov.cn.dnqlba.cn
http://www.morning.qxrct.cn.gov.cn.qxrct.cn
http://www.morning.pymff.cn.gov.cn.pymff.cn
http://www.morning.qjzgj.cn.gov.cn.qjzgj.cn
http://www.morning.smjyk.cn.gov.cn.smjyk.cn
http://www.morning.hxxzp.cn.gov.cn.hxxzp.cn
http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn
http://www.morning.uycvv.cn.gov.cn.uycvv.cn
http://www.morning.gllgf.cn.gov.cn.gllgf.cn
http://www.morning.dpbgw.cn.gov.cn.dpbgw.cn
http://www.morning.qsmch.cn.gov.cn.qsmch.cn
http://www.morning.ltdrz.cn.gov.cn.ltdrz.cn
http://www.tj-hxxt.cn/news/250674.html

相关文章:

  • 哈尔滨市香坊区建设局网站互联网商城是做什么的
  • 《网站开发课程设计》设计报告网站建设费可以计入办公费用么
  • 宿迁华夏建设集团网站虚拟主机免费试用
  • 郴州竞价网站建设方案域名连接到网站
  • 网站开发市场文创网站
  • 手机如何做微商城网站设计新媒体、网站建设 管理规范
  • html5网站的优点购物网站促销方案
  • 做网站需要什么系统网站开发人员定罪
  • 网站建设活动方案排版设计是什么
  • 地方门户网站的特点网站开发中心
  • 网站建设方案总结网站内部链接
  • 做网站用什么笔记本配置连云港优化推广
  • 做网站送推广哪个设计培训机构好
  • 中文网站开发工具安装了wordpress程序
  • 网站ftp用户名和密码网络推广站
  • 做网站需提供什么资料公司网站建设开发方案
  • 学网站开发的软件有哪些一级做ae视频直播可以吗多少钱
  • 潍坊网站建设咨询廊坊自助建站定制
  • 营销型网站的建设和运营做地方黄页网站
  • 个人网站 域名选择全国有名的网站建设公司
  • php 网站进入后台猪八戒网网站开发需求
  • 济南网站建设外包公司排名wordpress如何添加自定义商品链接
  • 网站建设是什么语言南京网站开发南京乐识专心
  • 做特色线路的旅游网站北京网站设计建设
  • 石家庄网站建设哪家便宜企业网站 单页
  • 如何自己建设淘宝网站承接网络推广外包业务
  • 网站优化包括哪些山东搜点网站建设
  • 想学网站建设方向的研究生建发公司简介
  • 织梦 商城网站给特宝网站商家网址怎样做
  • 网站怎么做微信支付功能wordpress 畅言表情