欧博会员网站 你的位置:欧博会员网站 > 欧博会员网站 > 皇冠电子游戏博彩爱好者_存储基础 | 神奇!我的文献有个“洞”
皇冠电子游戏博彩爱好者_存储基础 | 神奇!我的文献有个“洞”

发布日期:2023-10-30 05:48    点击次数:181


皇冠电子游戏博彩爱好者_存储基础 | 神奇!我的文献有个“洞”

皇冠电子游戏博彩爱好者_

[[422793]]

本文转载自微信公众号「奇伢云存储」,作家奇伢 。转载本文请联系奇伢云存储公众号。

 AG色碟

聊聊配景

文献还能打洞?

解救寥落文献语义的文献系统就不错。

皇冠体育hg86a

解救寥落语义的文献系统有什么基本特征?

罢了 fallocate 接口,大致空闲文献空间预分拨和打洞; 罢了 fiemap 的功能,复返文献的具体物理块分拨信息;

打洞是什么意念念?

博彩爱好者

英文是“punch hole”,便是在保证文献其他属性不变(比如,文献大小,inode 编号,权限等等)的条目下,主动开释一段文献所占的物理空间。

皇冠澳门影院

对于答允的语义?

欧博入口

文献系统:punch hole 收效,文献系统可能开释,也可能没开释这部分空间,此扫尾不合用户答允。

皇冠api接口

景观猿:反而是景观猿要顺从答允,一朝 puhch hole 收效,用户将不成对这部分数据作念任何假定,要当它仍是没了,非论它是不是确实没了。

创建实分拨的文献

为了打洞,咱们需要先创建一个本体占用 4M 的文献,用 dd 高歌如下:

root@ubuntu:~/temp# dd if=/dev/urandom of=./test.txt.4M bs=1M count=4 

不错用 du 高歌看一下本体的物理空间:

root@ubuntu:~/temp# du -sh ./test.txt.4M 4.0M ./test.txt.4M 

如实是 4M,再用 stat 高歌看一下:

root@ubuntu:~/temp# stat ./test.txt.4M   File: './test.txt.4M'   Size: 4194304    Blocks: 8192       IO Block: 4096   regular file Device: fc00h/64512d Inode: 1335860     Links: 1 Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root) 

文献 Size 4194304 字节,物理占用 Blocks 数是 8192,这里每个 Block 单元是 512 字节,是以物理占用亦然 4194304 字节,刚好 4M。

文献打个洞

原材料准备好了,Go 景观奈何给文献打个洞呢 ?

关节在于 fallocate 系统调用。

这是一个跟平台强关联的系统调用,非系统兼容的,底下以 Linux 为例。

由于这个非系统兼容的,访佛于这类调用,一般都是用 syscall 这个轨范库,径直下发系统调用。

完整景观示举例下:

作为欧洲杯历史上最成功的国家之一,意大利队在今年的比赛中再次展现出了强大的实力。但在最近的一场比赛中,意大利队的明星前锋XXX却因为与对方球员的争执而遭到罚下,让球队陷入了困境。不过,即使没有XXX的帮助,意大利队依然战胜了对手。

代码关节几个事项:

文献头部要加上 // +build linux ; 调用的是 syscall.Fallocate 接口;

好了,编译一下吧:

go build -gcflags "-N -l" ./punchhole.go 

把编译出的二进制 punchhole 和 test.txt.4M 这两个放在一个目次下,欧博线上代理施行一下后果:

root@ubuntu:~/temp# ./punchhole  2021/09/08 22:22:21 punch hole success. 

du 看下文献扫尾:

root@ubuntu:~/temp# du -sh ./test.txt.4M 2.0M ./test.txt.4M 

嗷,如实形成了 2M,stat 再看一下:

root@ubuntu:~/temp# stat ./test.txt.4M   File: './test.txt.4M'   Size: 4194304    Blocks: 4096       IO Block: 4096   regular file Device: fc00h/64512d Inode: 1335860     Links: 1 Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root) Access: 2021-07-26 15:39:06.672000000 +0800 

文献大小如故 4M,本体物理空间形成了 2M( 4096 * 512 ),inode 编号、权限都没变。完好,一个隐隐文献就降生了。

保守起见,策略哥特地回测了近几年*ST左江相同指标形态的出现次数及后续影响,数据发现*ST左江自2020年起共出现过33次股价突破BBI均线的情况。

文献认知:

交易

这个文献 [ 0,2M ] 的位置是隐隐,不占物理空间,读出来会是 0 数据;

[ 2M,4M ] 的数据如故蓝本从 /dev/urandom 建树读出来的数据,占用本体物理空间;

念念考题

抛出几个关节的念念考问题,各人不错自行考据。

如若 punchhole 传参瑕瑜 4k 对王人的,会奈何样?

皇冠电子游戏

划重心:由于文献系统里面都是按照 4k 的单元惩办空间的,是以非 4k 对王人的空间是开释不掉的。 punch hole 一定要详确按照 4k 对王人。

相配还要详确少量,天然非 4k 对王人开释不掉,然则 fallocate 调用也不会报错,这点很热切。最启动就提过,文献系统没给你答允过啥手艺开释啥。

各人不错手动考据下。

文献 test.txt.4M 的 [ 0,2M ] 被打洞之后,这个区域会是什么数据?

**全 0 数据,这个是寥落文献系统给你的语义。**这个上头也提到过了。

真人博彩开户送彩金

奇伢教你快速用 hexdump 高歌看一下:

root@ubuntu:~/temp# hexdump ./test.txt.4M|more 0000000 0000 0000 0000 0000 0000 0000 0000 0000 * 0200000 80e3 2c11 f8d8 256b 23b5 a191 fb80 eb5e 0200010 f454 e3e2 cb8b 664a a893 6f5a 2df0 99dd 0200020 9d30 4f19 144f b4f1 f2cd 7312 c16c 719f 0200030 2ef7 3195 48a1 b2c0 03f1 a08a aff3 a022 ................. ................. 

看到了吗?

0x0000000 - 0x0200000 这个区域都是 0 数据。这是 16 进制暗意,换算成 10 进制,便是 [ 0 ,2M ] 的区域。

各人也不错用景观去 read 考据下。

皇冠娱乐 追思

追思几个关节点:

文献打洞用的是系统调用 fallocate ;

文献打洞的手艺要详确 4k 对王人,否则非对王人部分开释不掉,何况不会报错;

文献系统没答允什么,是以当没 4k 对王人的手艺,天然没开释空间,也不会报错;

景观猿要顺从答允,一朝声明了某段空间要开释,以后不成对此空间内容作念假定; 

皇冠客服飞机:@seo3687

文献打洞的位置,不占物理空间,后续读是复返 0 数据;

 



Powered by 欧博会员网站 @2013-2022 RSS地图

皇冠体育导航皇冠体育皇冠现金网皇冠客服新2网址