我长大了作文500字

青春是一本太仓促的《我长大了作文500字》

我长大了作文500字(一):

我长大了

寒假里的一天,妈妈做完早饭后就匆匆去上班了,临走前嘱咐我午后把稀饭热热,打扫卫生,自己洗袜子。我一一答应。

妈妈走后,我写了一会儿作业就开始玩电脑,早就把妈妈的话抛在了脑后,真是老虎不在家,猴子称霸王。下午我又带我心爱的小狗出去玩,五点才回来,妈妈已经下班了正在准备晚饭。妈妈十分生气:我让你干的活你干什么了?你都12岁了,怎样这么不懂事?说完就进了自己的房间。我自知理亏,没敢吱声。我连忙洗出袜子,整理了房间,走进厨房一看,妈妈把土豆切成丝浸在水里,白菜和豆腐皮也已经洗好了。我心想:这天我要给妈妈做顿饭,将功补过!我笨手笨脚的切好白菜和豆腐皮,然后开炒。我打开煤气灶,到上油,油热了,开始冒烟,我心里就开始紧张,平常炒菜我最害怕的就是炝锅,这天我也只能挑战自我了。我硬着头皮把肉扔进了锅里,只听……
开饭了,妈妈高兴的对爸爸说:快尝尝吧,这天的晚饭是女儿做的!哦?爸爸听后夹了一筷子菜,放在嘴里细细品尝不错!不错!真不错!爸爸连连称赞。我觉得这顿饭别有味道。

这是我第一次自己独立做饭,我从中体会到了妈妈平时做家务的辛苦,我想对妈妈说:我已经长大了!

我长大了作文500字(二):

这几天,爸爸外出在芜湖学习,地点是安徽师范大学。所以全家作出一个重大决定:星期五让我独自一人去师范大学,看望老爸,同时感受一下大学风采,听听教授深入浅出的讲课。

最后,盼到这一天了。我怀着愉悦的情绪等待着出租车的到来。叮呤呤一阵电话铃声划破了妈妈办公室的宁静,我的心开始十分不安。妈妈不住地安慰和鼓励我,作为一个男孩必须要勇敢。我进入出租车和妈妈依依惜别。

出租车风驰电掣,道路两旁的树木一闪而过,像一道道闪电。我不由得思绪万千,脑袋里冒出一堆数不胜数的小问号:假如车子出事故怎样办?假如爸爸没来接我怎样办??假如我遭遇不测怎样办???以前和妈妈一道坐出租车时,我都呼呼大睡,但是这次非但不睡,反而提高警惕。我的心如同海上的巨浪一上一下,十分紧张。

途中,妈妈透过司机的手机打电话给我,再一次鼓励和安慰我。我接了电话后,如同吃了一颗定心丸,让我紧张的心缓缓平静了下来。天开始像被一块幕布盖住了似的。我像一个特工左看右看,注视着所有人举动,防止一些图谋不轨的人有什么阴谋诡计。

突然,堵车了!我十分焦急,如热锅上的蚂蚁团团转。不知过了多长时间,长长的车队才开始笨拙地运动起来。最后到大学门口了,看到了爸爸,我迫不及待地下了车,激动地扑到爸爸的怀里。一颗心真如千斤石头落了下来。

这次历险,真是让我惊心动魄!既锻炼了我的胆量,又让我真正意识到我长大了!

我长大了作文500字(三):

星期六,我睡了个懒觉,一觉醒来,才发现妈妈早已上街去了。

我泡了一袋方便面,狼吞虎咽地吃了下去。吃完了,我正准备去写作业,突然,我一下子看到了饭桌上的碗,想:妈妈每一天都要备课,而且还要做饭、洗衣服、扫地我帮妈妈洗洗碗,让妈妈减轻一些压力吧!说干就干,我端着碗,一路留意翼翼地走进了厨房。

准备开工了,我挽挽袖子,拿起一个碗,洗了起来。我首先把水龙头打开,照着电视里的样貌,用手左擦擦,右擦擦,还忍不住哼起了歌。然后,我把碗里接满水,用手挤了一点洗洁精,之后,又左刷刷,右刷刷最后洗干净了,我高兴得几乎要跳了起来,因为我会洗碗了!大功告成,我正要去写作业,突然,我发现水龙头还在滴水,心想:中国但是世界上十大缺水大国之一呀,我可不能让世界上最后的一滴水转成人们悲伤的眼泪。想到这儿,我不禁打了一个冷战,急忙把水龙头关上了。

这时,妈妈回来了,看到这些被刷得几乎亮得刺眼的碗时,高兴极了,夸我长大了,懂事了。我听了,比吃了香喷喷甜丝丝的蜜还要甜。

我长大了作文500字(四):

我长大了作文500字

人们都说少年不识愁滋味,这话说的一点也没错。在我儿童时代,望见同学们有个漂亮的蝴蝶带,或五光十色的首饰,都要吵闹着向爸爸妈妈去要;对学习,我总是那么的漫不经心、丢三落四。小时的我,以至于就连为爸爸妈妈分担一点家务,我也是从来不会去想的。甚至我连陌生人都会信呢!妈妈总是叹息着说:女儿什么时候才能长大呢?

但是之后,当我真正经历过这件小事情后,我却感觉到我真的长大了。

有一天晚上,爸爸妈妈全都去值班了,我一个人在这凄凉的夜晚里感到又寂寞又害怕、提心吊胆的。我正在大厅认真的做着家庭作业,写着写着,一阵响亮的吆喝声在我耳边索绕着:卖牙刷、卖脸盆……之后,房门被咚咚的敲响了。有人大声问:家里有人吗?我是来卖保健品的!我正准备开门,突然想起不能轻易给陌生人开门。于是,我留意翼翼的顺着门镜向外看去。哎呀!只见门外的人穿着件黑色大皮衣,戴着一副墨镜,手里拿着个小筐子,有些保健品,我隐约望见保健品底下有个闪光的东西,糟糕!那是刀!于是我镇定的说:我们家不要什么东西,你走吧!他听后,执意不肯,继续说:你开开门阿,或许你家正需要的东西,我那里有呢!还能够优惠阿!我也仍然坚持着,说:我爸爸说不需要了,你快走吧!他见形势不好,冲动的说:你再不开门我就……你就怎样样阿?莫非你想让我报警?哎!你可真是自投罗网哦!我斩钉截铁的说道。那人听了,不一会儿,便落荒而逃、溜之大吉了。我为我的勇气感到高兴。

这虽然只是一件极为普通的小事,却让我感觉到自己真正的长大了。是的,我长大了!我不再受坏人的指使、信陌生人的话了,我躲过了一次难关。因为我以无所畏惧的勇气、以勇取胜了。我要使这件小事在我的成长历程中留下清晰的和痕迹,陪伴我一生,带给我勇气。

而我也确实感觉到自己长大了。随着岁月的推移,我将走向成熟,更为懂事。因为在我心中一向有句话在激励着我:

我,长大了!

我长大了作文500字(五):

我是家里的小皇帝,爸爸、妈妈的掌上眀珠。爸爸、妈妈个性疼我,什么家务活都不让我干。只要一见到我干家务活,他们就皱着眉头,心疼地说:你还小,干不了这些,快去做功课吧!每次,我都极不高兴地离开了。还小,还小,我都13岁了,还把我当娃娃!为了让爸爸、妈妈明白我真的长大了,我便处处搜索着使爸爸、妈妈明白我长大了的机会。

有一天,我正在看电视,忽然屏幕上岀现了一片汪洋,大水冲垮了庄稼。原先云南发生了水灾!看到这情景,我想:云南发生了水灾!我该助他们一臂之力!但是,我该怎样助他们一臂之力呢?坐在一旁的爸爸仿佛猜透了我的心思,说道:怎样,想岀力?还小呢!我看了爸爸一眼,神秘地说:保密!我心里暗自得意:这下机会来了,等事办成了,让他们大吃一惊!我便行动起来。首先做一张贺卡!说干就干。我从抽屉里取岀一张白纸,拿出水彩笔,把白纸一折,在封面上画了两颗紧紧相连的红心,并在封面的下方端端正正地写了一句话:一方有难,八方支援,祝你们早日重建家园!写完后,我怀着兴奋的情绪将这张贺卡留意翼翼地放在了桌上。随后,我决定再写上一封信,捐些钱!于是我便伏在桌上写起信来:亲爱的云南小朋友,你们好!听说云南发生了特大水灾在此,我为你们出一点儿微薄之力我想,重在情谊,祝你们早日重建家园,你们有自强不息的精神,必须能够战胜困难的,一个关心你们的小男孩!

信写完了,我又从橱窗里取出了小狗储蓄鑵,轻轻抚摸着小狗,又亲了亲它,然后对说:小狗,为了云南的朋友,你能牺牲自己吗?小狗的眼神也仿佛充满了期望,仿佛在说:我能,主人。

我举起小狗猛地向地上砸去,只听哐啷一声,里面的硬币一个一个地蹦了出来。我捡起来仔细一数,共有37元。我把这37元连同信和贺卡一齐寄给云南受灾的朋友

爸爸、妈妈明白这事后,都翘起大拇指说:孩子,你长大了!是的,我长大了,我学会关心他人、帮忙他人了。

我长大了作文500字(六):

我长大了作文500字

我长大了,此刻想起一年级时连自己的书包也不会整理,铅笔不会削,起床父母叫,需父母接送,我都会情不自禁的笑起来,因为我也有自尊心,感到十分丑。很多思考题不会做,爸,快来交我!常识问题不懂,妈,快来指点我!这些问题已经不算什么了,我已会自己解决这些困难了。

我长大了,来这个多媒体班里读书,爸爸妈妈多交了2000元钱,我明白自己就应怎样的用心学习,怎样的努力。我长大了,遇到了各种各样的困难,还来不及想怎样解决,就将我推倒在地,我不灰心,我明白我长大了。擦干泪,站起来,擦着伤口,一步一步的向前。成绩、分数、试卷让我每次想得满分,是长大赶走了困难,把我从困难里拉了出来。

我长大了!是长大激励着我前进。

我长大了作文500字(七):

骄傲、自私、爱发脾气哎,屈指算来,我的缺点可真不少:

还没开饭,我就坐到桌前自顾自吃喝;考了满分就沾沾自喜;我也明白这样不好,但从来没想过要改变自己。

有一天,我做了一个平常但又奇怪的梦。

那天早上,我照样走到餐桌旁吃早餐,发现不是我喜欢吃的,大声地喊着妈妈却无人理会。无意间,我发现碗底下垫着一本子,上面仿佛写了一些什么。

盼盼,你好哟,这是一封写给我的信。信上的字刚劲有力,我一眼就认出是爸爸写的。我迫不及待地往下读下去:看到这封信,你必须感到很奇怪吧,爸妈不在身边的日子可否习惯?这可把我弄糊涂了,爸妈不是在我身边吗?

带着疑问我继续往下看:天冷了,要多穿衣;早饭必须要吃有营养的东西信中的我仿佛已经离开爸妈,独自一人远在他乡,这是怎样回事呢?一个念头在我心头一闪,莫非爸爸是写给未来的我的?

在大学里,要努力学习,和同学老师的关系好吗?遇到矛盾,首先想想自己错在哪里爸妈就是期望你能开心学习,快乐生活,我们再苦再累都心甘情愿看到那里,我不知不觉流下眼泪。爸妈我操了这么多心,可我都认为这些是他们就应为我做的,真是太不就应了。

你学习很忙,就不多写了,爸妈一切都好,勿挂念。一封信,倾注的都是父母对我的关心,除了感动还是感动。

妈妈我大叫起来。

盼盼,妈在这儿。原先妈妈竟然就坐在我身旁。

我紧紧抱着妈妈,哭了,什么也没说,但我明白内心的我必须发生了改变。

指导老师评语:

长大两个字所含的资料能够说是很丰富的,长大了也许会成熟,也许会懂得体贴,也许更有爱心。可如何才能长大?此文透过梦境中读到来自未来父母的信而对长大有所悟,有所改变,有点个性。

我长大了作文500字(八):

我长大了作文500字

以前,妈妈总是说我还太小太小,乳臭未干。这件事不让做,那件事做不来,仿佛我永久长不大。我常常想证明自己长大了,可往往适得其反,不是酱油瓶打破就是烫伤了手,没有一件成功过。

这天,阿姨出差,她把弟弟带到我家,让妈妈临时看管弟弟。没想到幼儿园来电话,妈妈下午改为上班。妈妈临走时说:俊楠,你比弟弟大,要看好弟弟。我应了一声,妈妈就走了。

不知为什么。弟弟一件妈妈走了就号啕大哭起来。我以为他饿了,把饼干地给他,他却把饼干到处乱扔。我又以为他想小便,把他带进厕所,可他又跑出来。我只好使出绝招,逗他:不哭才是好宝宝。这一招可真灵,弟弟最后破涕为笑了,还不停的说:我是好宝宝,我是好好宝宝

我又给他讲故事。我特意选了本弟弟百听不厌的《恐龙之家生儿育女篇》来绘声绘色、手舞足蹈地讲给他听。弟弟津津有味地听着,当我讲到恐龙小偷偷蛋龙偷原角龙的蛋时,他还反问我:原角龙为什么不打110叫警察龙呢?投弹龙就逃不掉了。这句话真弄得我哭笑不得。

不知不觉中,我把整本书都将完了。大概是太入迷了,我讲完才觉得口干舌燥。弟弟也说他要喝水,于是我一路小跑地买了两瓶维体。回到家,我和弟弟对水展开了歼灭战,不一会儿,两瓶水就喝完了。

不久,妈妈下班回家了。她看到笑眯眯的弟弟,表扬我说:小宝贝,干得不错嘛!

我长大了,别叫我小宝贝了。

好,好妈妈笑着说。

长大了的感觉真好!

我长大了作文500字(九):

我长大了

成长是滋味甘醇的美酒,让人回味无穷成长,此刻在我们眼中,是两个多么熟悉的字眼阿!是一个多么美妙的词语阿!是阿,我们在成长,在茁壮成长,在健康成长,我突然发现:长大的感觉真好!

站在镜前,看着镜中的我,忽然感觉似乎有些陌生。比起原先的我,我发现:变了,变了。记的小时候,每一天懵懵懂懂地生活,不是打破玻璃,就是碰倒花瓶,只会做一些有弊无利的事情,给爸爸妈妈添麻烦;但此刻,我却是个听话,做事有主见,做事有计划的女孩子,并且不再要爸爸妈妈为我操心了!长大的感觉真好!

此刻在家中,我也会帮家里,帮妈妈做一些我力所能及的事了!比如刷刷碗,扫扫地,整理房间……这些每一天我都能够帮上忙,做一做。去年的暑假,碗筷可都包在我身上呢!但是,我从来都不会诉苦,我认为这是我就应做的。长大真好,还能够帮妈妈减轻负担!也让妈妈休息休息一下!平常看妈妈做事那么劳累,我看在眼里都心疼。阿!此刻倒好,我长大了,能够帮妈妈一块做了,全家都夸我是好样的。长大的感觉真好!

我长大了!感觉到了:这个世界是如此美妙。在成长的过程中,我学会在知识的海洋里遨游;在数字的天空里自由翱翔,它让我对未来充满向往,为理想努力奋斗,努力拼搏。从前我什么也不懂,但在成长的过程中。

我逐渐开窍,在我的人生中,又有了一点更逼人的透过乌云的晨光。许多师长和同学传授给我的知识,都成了辅导我跳过人生激流的磐石,都成了指引我渡过人生风浪的灯塔,指引我向前去。

长大真好!成长犹如一部情节曲折而又饱满的电影,令人回味。

我长大了作文500字(十):

我长大了作文500字

今年,我已经是三年级的学生了.可爸爸妈妈老是说我小,说我还不懂事呢.我很不服气下决心要用实际行动来证明我长大了.

这天午后,爸爸妈妈不在家,妈妈打电话来让我拿钱去饭店吃饭.我想;我地零用钱是买买学习用品的,怎样能拿去吃饭呢于是我决心自己做饭,我拿来锅到入一些米,之后拿来少许水洗,反复洗了几便,觉得米已经洗干净了,将他倒入电饭锅里,放好水盖好,最后插上了插座.为了节省时间,我就把鱼热了热.等我做好饭,肚子已经咕咕叫了.我赶紧拿起筷子,津津有味的吃了起来,就在这时候爸爸妈妈回来了,妈妈望见我在吃自己煮的饭菜时,高兴的说;我们的晨晨长大了.

我多高兴呀!因为我最后用自己的行动向爸爸妈妈证明我长大了.

我长大了作文500字(十一):

人生,是一个五味瓶,里面充满了酸甜苦辣等味道。还有着千百万种说不出的不同的滋味。人生,是一艘小船,航行在海面上,有时风平浪静,有时还有着汹涌澎湃,来势汹汹的浪花。人生就是这样,有苦也有了;不是一帆风顺的,这就是生活中的苦,但是,正是因为这些苦,才会让我们学会苦中作乐,从而感受到生活中的乐。

光阴似箭,日月如梭,一眨眼的工夫,小学这六年我已经走过,小学中的苦和乐我都尝遍了。此刻,我已经跨出了小学的门槛一步一步踏入了初中的大门,成为了一个初中生,成为一个初中生,说明我长大了。小学的时候,我什么事情都需要父母操心,有时会在班级里闹事,这让老师和父母很头疼,父母不仅仅要忙着自己的工作,忙完工作后,在家中还要做家务:家里一连几天没有打扫了,家里很脏,因此要把整个家打扫得干干净净。

我放学回到家时,整个家都变得干干净净,和前几天的家中的环境构成了鲜明的比较。我感到好奇,环顾了整个房间,我看到了妈妈正在放扫帚和拖把,原先是妈妈在打扫卫生。妈妈看到了我回来了,冲着我微笑,我看到了妈妈的额头上流下了黄豆般大小的汗珠,这是辛勤的汗珠阿!妈妈一边擦着额头上的汗珠,一边捶着自己的背。当时,我的心里有着一种说不出的心酸。我心想:妈妈真辛苦阿!妈妈必须是为了家务太操劳了,平日里,妈妈既要操心我的学习,又要操心家务事。我真是太不就应了!我长大了,我更就应努力学习,更不能再给妈妈添乱了。

回首往日,我心里暗暗下定决心:在初中阶段,我必须要加倍努力学习,我长大了,也懂事了,加油吧!争取考上理想的高中,这样妈妈以后就不用这样操劳了。

初中的科目多,回家作业多,每一课的知识点多,所以我应当付出比别人更多的努力。俗话说得好吃得苦中苦,方为人上人,这句话无论在什么时候都铭记在我的心中,难以抹去。

我长大了,应当更加努力学习,拿优异的成绩去孝敬父母,回报父母这么多年对我的养育之恩。

我长大了作文500字(十二):

一年又一年的过去了,每一天都有不同的故事发生,仿佛是在为我的成长在作见证,有人愿意听我讲故事吗

期末考试最后考完了,我但是要好好的放松一下了,作业也不想写,每一天就是看动画片,过着衣来伸手饭来张口的日子,舒服极了。突然有一天妈妈严肃地对我:小张,你不能在玩了,赶快写作业了。我发现我的好日子到头了,每一天就是写作业吃饭睡觉了。

有一天我实在很无聊,就趁妈妈上班后,赶快给伙伴们打电话赶快来我家玩阿!不一会大家全来了,玩什么呢?有人提议画画,有人提议唱歌,我提议来捉迷藏,大家异口同声的说:好!我们先来黑白配,选出一个人来找藏起来的人,123在一声声的数数的时候,大家都藏起来了,小丽说好了,我开始找了阿!不一会就在门后找出一个,又在沙发后找出一个,有的干脆藏在了床底下,我藏在了大衣柜里,小丽废了好长时间才打开了柜子门,我出来的时候太急了一下子把妈妈的真丝裙子给扯烂了,这可怎样办阿!这条裙子是爸爸买给妈妈的生日礼物,妈妈还没舍得穿过呢!妈妈明白后不会拿扫帚打我吧!

晚上妈妈回来后,我忐忑不安的走道妈妈面前,妈妈说:宝贝,怎样了,谁惹你了。我说:没有谁惹我,我做错了一件事不明白该怎样说。什么事阿!我这天下午不留意把你的真丝裙扯烂了。我小声的说道。妈妈听了后半天没说话,我一看吓坏了,连忙说道:妈妈,你还是打我吧,我明白错了。妈妈摸了摸我的头,笑着说道:宝贝,你长大了,你明白做错了事情,能勇于承认错误,而不是掩盖错误,我怎样能打你呢我就应表扬你才对阿!

我一天天的在长大,成长就是期望,就是未来,我愿意为我的成长写下动人的诗篇。

我长大了作文500字(十三):

北方的候鸟又一次飞来南方,河岸上的小草又一次穿上绿装。

我抬起头来,仰望天空,似乎觉得:童年离我越来越遥远了。

我带着惊奇离开摇篮,走出父母为我共造的温室。我明白自己不再是个整天抱着洋娃娃,开口只会叫妈妈,抱!的娇娇女了。在一天天过去的日子里,我独自寻找着长大了的我。

的确,我长大了。可长大了的我在父母眼里永久是个长不大的娃娃,而在娃娃们的眼里,我似乎又是他们信任的小姨。我到底是哪一个?我不明白,我只明白:我是一个长大了的我。

的确,我长大了。我与别人之间常常多了一道又厚又高的墙,无形中把自己关在一个灰暗的小屋里。爸爸妈妈的唠叨,我似懂非懂,想听又不想听;有时敏感,有时却又麻木。

看着父母日益增多的白发和皱纹,我觉得他们似乎理解我,又似乎不理解我。

的确,我长大了。一些事情的记忆越来越深刻,洗也洗不掉,抹也抹不去。所有的喜怒哀乐,有时只有在灯光下,在房间里,独自去慢慢品味。以前的天真快乐,不知何时与我不辞而别;升入中学的压力,也不知何时悄悄爬上我的肩头。

难道长大了真的拥有的那么少,失去的那么多吗?不!我才刚刚跨入人生的征途,完美的未来在向我招手。我要抛开一切烦恼,在风和日丽、万里无云的晴天里,寻找我过去那一份天真、纯洁,追求从远方射来的一线光明、期望

我长大了作文500字(十四):

在过去的三个月里,我一向认为自己是个小孩子依偎在母亲的怀里,舒服极了。但是三个月后,我成为一名中学生升入了初中。

一开学,就要进行魔鬼式训练,其实叫地狱式训练也蛮不错。真的好累阿:立定齐步走左转弯右转弯天天在烈日下晒着没有树荫没有遮阳帽不能休息。之后还学了一套什么健美操。结束之后我是腰酸背痛就连脚背脚心也难受的很,我哪里受过这苦阿这要是从前我肯定会掉下金豆豆,但是此刻不同于小学时的我了,我深知,自己不能在叫苦叫累留下不争气的眼泪,所以我一向在默默的忍受着。

当上了三科课代表

之后,每一天就要穿梭与老师办公室与七年级教室之间了,来回来去一遍又一遍。般、发一大摞一大摞的作业去理解老师的旨意之后,其实真的好累,别的同学都在班里休息,而我却去完数学组又去语文组,但是老师们问我累不累,我却毫不犹豫的说不累,我不想让老师担心,不想辜负老师对我的期望

照一照穿衣镜之后,我惊奇地发现,从前的两个分开梳的小辫子,此刻转成的脑后的马尾辫,花花的喇叭裤转成了成熟的牛仔裤。

哦我这才发现这种种的变化,不正是说明我长大了,真的长大了吗?难道不是么?

我长大了作文500字(十五):

小时侯我就想长大。但大人们老想还童真是的当孩子有什么好?

渐渐地我长大了!

记得在一个风雨交加的日子里,我将要淋雨回家,想到这似乎一条条的蛇在我身上咬着、啃着,痛苦无赖。刚放学,外面就下起瓢泼大雨这是在和我作对吗,什么意思嘛,我正在气头上时候就听见有人叫我:宏梅!是妈妈!妈妈打起伞紧紧地搂着我,不一会,妈妈全身都湿了。我顿时心如刀绞,立马把伞强往妈妈那边靠,妈妈也不屑一顾,只说了一句话:你打好!回家又感冒的!妈妈阿,我明白您疼我,但是我也疼您阿。我还是把伞往妈妈那边靠,说:您才烦人,打就打好。妈妈笑了起来。

妈妈,我长大了,我有了职责感,我不再是小孩子了!

还记得在一天晚上,我想要喝水,但是开水壶里没有水了,我就下楼在煤气灶上烧水咳咳真难闻的煤气味,妈妈被我吵醒了,看我不在,大声叫我,妈妈下楼,说:你这样,半年也烧不好水。妈妈麻利的烧水动作征服了我星期六,我模仿着妈妈烧水,进过了无数次的失败,我最后会了。

妈妈我长大了,我明白了人生就像看电视,只看了开头和结尾,或只看了过程那都不叫看,只有享有全部才叫看!

我长大了作文500字(十六):

在成长的岁月里,我从许多事情里慢慢证明了我的成熟。其中,有一件事让我难以忘怀。

2008年金融危机时,我八岁,上五年级。柴米油盐都涨价了,而我却不明白爸爸妈妈的担心。

一天傍晚,我睡不着觉,便来到了爸爸妈妈的卧室。刚准备敲门,突然听见爸爸妈妈的谈话,我便静静的听着。

妈妈说:哎!怎样办呀!我们家钱快不够用了,佳佳再这样乱花,我怕养不起。爸爸说:超凡又刚生下来,又要买牛奶什么的,我看我还是换个工作吧!之后是一声声长叹。

晚风呼呼的吹着,天空上的月亮都显得冷清。我在心中下了决定。

第二天早上,我们一家出去买东西。弟弟在超市里要东要西,而我却默不作声。爸爸发现了,问我:佳佳怎样不嘴馋了?我说:我再乱花钱,爸爸妈妈就不要我了。爸爸妈妈先是一愣,然后默不作声。

回到家,妈妈亲切的问我:佳,你这天是不是有心事呀!我说:妈妈,昨日你和爸爸的对话我都听到了,我决定不再嘴馋了。我还要卖掉一些我穿不下的衣服,能够卖很多钱。爸妈就不用为没钱担心了。妈妈抱着我哭了起来。

这件事,让我的成长变得多姿多彩。此刻,我不再是幼稚的儿童,而是走向成熟的少女。

我长大了作文500字(十七):

每个人都会长大,其长大,而不必须成年,而是懂事了。当别人表扬你一句:你长大了。你会感到无比的自豪,这一件件事,就像一个个形态各异的瓶子,被存放在记忆中,下面我就叙述一件小事让你评价一下吧!

记得那次,风行天下吃宴席,那时还在上幼儿园的我才只有4岁,却已经很听爸爸妈妈和老师的话,是个乖小孩子,当时那儿少了个凳子,我妈妈没坐下,只好站着,我毫不犹豫地站了起来,说:妈妈,你来坐我这个凳子,再把我抱着行不行?妈妈很欣慰地说:行。顿时身旁的亲戚朋友望见后也赞不绝口,夸我长大了,我挠了挠后脑勺,不好意思地笑了笑。在吃饭的时候,那个桌子是旋转的,每当我在转时,看到别人想夹某种菜时,我就会立刻停下来,等别人夹完后我才继续转。细心的妈妈发现了我这个细微的举动后,心里不禁暗暗高兴:我的儿子长大了!回到家后甚是惊奇地问:儿子,你这天的表现真好,是谁教你的,妈妈看在眼里,记在心里呀!哦,这都是老师教的对人的基本礼貌呀,没想到这天就派上用场了!我说。你真的长大了,我的乖儿子。妈妈说着,并在我的额头上深深地刻下了一个唿。

你长大了这句话虽然只有几个字,但是却包涵着很深的含义呀!

我长大了作文500字(十八):

以前,我是一个懵懵懂懂的少年,人生路上的每一步,都需要爸爸妈妈牵着小手为我指引方向。此刻,我是一个朝气蓬勃的少年,全身上下都焕发出青春的活力与精彩。

以前,我只要在哪儿摔倒,就只会坐在地上号啕大哭,等待别人将我扶起,此刻,我已经懂得,在哪儿摔倒,就在哪儿爬起来,永不言败。以前,只要有一点儿事情,就会让我紧张万分,此刻,我已经懂得,顶住压力,微笑着迎接挑战。以前,一点小小的胜利就会让我冲昏了头脑,此刻,我已经懂得,胜不骄,败不馁,才是制胜的法宝。以前,我只和一两个同学做朋友,此刻,我已经懂得,广结善缘,撒播心灵的阳光,真诚交友。以前,我总是轻易烦躁,此刻,我已经懂得,心平气和地去完成自己该完成的使命。以前,我很任性,经常与同学吵架,此刻,我已经懂得,多换位思考,试着站在别人的立场上想想。以前,我总是想尽快完成作业,而不顾作业的质量,此刻,我已经懂得抱着快乐的情绪,认真对待每一件事。

以前此刻

以前的我勇敢热情,此刻的我多了一份稳重与智慧;以前的我浪漫纯真,此刻的我多了一份成熟与独立

我发现,我长大了。

我长大了作文500字(十九):

这天,我站在镜子前面,突然发现我比以前长高了,脸庞变大了,不再像以前一样,是个瘦瘦的小女孩了,各自矮矮的,脸小小的,为什么我变了呢?因为我长大了!

以前,我事事依靠父母,但我又总想帮奶奶干活,告诉你一个小秘密:为的是吹泡泡!我用白白嫩嫩的小手大了一盆清水,拿来肥皂,拿出我的小衣服放到水中浸泡,把肥皂在上面搓来搓去,为的是什么呢?为的是以后吹泡泡呀!我把它当成我的快乐,每次,我总借洗衣服的招牌来吹泡泡,每次都以失败告终,不是奶奶不让洗,就是爸爸动拳脚。(吓唬我)记得有一次,奶奶说:哎呦!我的小宝贝呀!快屋里去!!不嘛,不嘛,我就要洗我娇声娇气的说。奶奶又说:等你长大了在洗!听话!那我什么时候才能长大呢?这一个小小的问题存在了我记忆的银河里。波鼎文学tyfjddb.

此刻,我最后长得了,这得能够帮奶奶个事了,此刻我洗衣服,不像以前只顾这玩,而是学着奶奶的样貌,先打上肥皂,然后用手使劲搓那藏袖口,搓得很仔细,一丝不苟,吸完这件再去洗另一件,不再像以前只为了吹泡泡儿洗衣服了,我发现我真的长大了多好的是阿!

长大了能够干活长大了能够独立做事长得了能够有一片属于我自己的蓝天!长大的生活,多么完美阿!

我发现我长得了,长大的感觉真好!

我长大了作文500字(二十):

新学期开始了,我转成了初中生,在一天天长大,一天天转成熟。

上小学的时候,放学回家后,我必须会冲到电视机前看电视。可在初中开学的第一天晚上,我却没有像往常那样。我在书桌前坐下,静静地复习。因为我长大了,明白就应学习了。

星期天,我和朋友们一齐在楼下玩,追着跑着,忽然小王的手擦伤了,流了许多的血,朋友们都手足无措,急得像热锅上的蚂蚁。而我利用急救知识冷静地帮他包扎好。朋友们惊讶极了,我自豪地告诉他们:我长大了!波鼎文学tyfjddb.

在校园开学的第一天,我发现每一天的时间都被安排得满满的,每一天老师讲课的速度也快极了,作业一大堆,每一天也许会写到晚上七八点钟。但是几天后,我发现我学会科学地安排时间了,而不是想起哪项作业就做哪项作业,我会条理清晰地去安排我的学习时间。其他同学也是一样,我们都长大了。

当我第一眼看到育英校园这个字样,就觉得自己肩上的担子重了,我不再是一名小学生,时光也不再是童年的时候了。

在公共汽车上,我给老人让座;在马路旁,我扶老奶奶过马路;地上有垃圾,我就将它捡起放到垃圾桶中;家里需要蔬菜,我能自己去买这一切的一切都意味着我长大了,我不再是一个小孩子了。

 

CURL模仿浏览器读取网页的方法。

网页直接抓取通不过,需要设置相关网页参数,模拟浏览器读取网页,以获取数据。成功。聊记之。

/**
* curl获取数据
* @param $url
* @return mixed
*/
function get_url($url)
{
$ifpost = 0;
$datafields = ”;
$cookiefile = ”;
$v = false;
//构造随机ip
$ip_long = array(
array(‘607649792’, ‘608174079’), //36.56.0.0-36.63.255.255
array(‘1038614528’, ‘1039007743’), //61.232.0.0-61.237.255.255
array(‘1783627776’, ‘1784676351’), //106.80.0.0-106.95.255.255
array(‘2035023872’, ‘2035154943’), //121.76.0.0-121.77.255.255
array(‘2078801920’, ‘2079064063’), //123.232.0.0-123.235.255.255
array(‘-1950089216’, ‘-1948778497’), //139.196.0.0-139.215.255.255
array(‘-1425539072’, ‘-1425014785’), //171.8.0.0-171.15.255.255
array(‘-1236271104’, ‘-1235419137’), //182.80.0.0-182.92.255.255
array(‘-770113536’, ‘-768606209’), //210.25.0.0-210.47.255.255
array(‘-569376768’, ‘-564133889′), //222.16.0.0-222.95.255.255
);
$rand_key = mt_rand(0, 9);
$ip= long2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1]));
//模拟http请求header头
$header = array(“Connection: Keep-Alive”,”Accept: text/html, application/xhtml+xml, */*”, “Pragma: no-cache”, “Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3″,”User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)”,’CLIENT-IP:’.$ip,’X-FORWARDED-FOR:’.$ip);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, $v);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$ifpost && curl_setopt($ch, CURLOPT_POST, $ifpost);
$ifpost && curl_setopt($ch, CURLOPT_POSTFIELDS, $datafields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$cookiefile && curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
$cookiefile && curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch,CURLOPT_TIMEOUT,60); //允许执行的最长秒数
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$ok = curl_exec($ch);
curl_close($ch);
unset($ch);
return $ok;
}
////结束。

PHP巧用正则将字符串转为数字的方法

网页上有个数字,要进行整型字符计算,总是返回0,分析原因,查遍资料,
用var_dump分析,为字符串,不能参与计算。
偶得一正则,先将字符串打散为单一数字,再合并成连续数字,最后转换为数值型,参与计算就不会错了。
现列出函数如下:
//利用正则将字符串转换为数字。
function str2int($id){
preg_match_all(‘/\d/’,$id,$array_s);
$char_s = implode(”,$array_s[0]);
return intval($char_s);}

用MediaCreationTool工具下载官方原版win10系统

WIN10系统的获取
1.将下面链接复制到任意浏览器地址栏(微软官网链接,选系统,我相信官网)

https://www.microsoft.com/zh-cn/software-download/windows10/

网址界面,点击“立即下载工具”

教你打造自己的win10精简系统(超详细)
2.打开MEDIACREATIONTOOL工具

点击“接受”

教你打造自己的win10精简系统(超详细)

点击“为另一台电脑创建安装介质(U盘、DVD、或IOS文件)”,并选择“下一步”

教你打造自己的win10精简系统(超详细)

或者

根据自己的需求,选择“语言”、“版本”、“体系结构” 或者直接选择 “对这台电脑使用推荐的选项” ,然后点击“下一步”

选择“IOS文件”,“下一步”

教你打造自己的win10精简系统(超详细)

这一步会让你选择下载系统保存的位置,选择好之后点击“保存”(为了操作方便,我直接保存在桌面了)

工具开始下载win10系统

image.png

下载完成后,工具会自动创建win10系统的安装介质

创建完成之后,直接点击“完成”即可

博纳云标准节点提交注意事项

1.标准节点分为静态IP专线(单设备 5Gbps – 10Gbps)及动态IP汇聚(单设备 3Gbps- 5Gbps)。
(1)静态IP专线要求及设备配置请参考:https://shimo.im/docs/pDQVDH8pr6Pk8qdv
(2)动态IP汇聚要求及设备配置请参考:https://shimo.im/docs/QqJtpkCkYvRTQWvx
2.标准节点收益根据有效带宽 95 峰月结,具体收益情况请加入官方社群咨询二猫。
(1)有效带宽 95 峰:按自然月结算,在一个自然月内,按账户取每5分钟有效带宽值(出带宽-入带宽)进行降序排列,将带宽数值最高的 5% 的点去掉,剩余最高带宽即为月95带宽峰值计费值。以一月30天为例,默认均为有效取值点,每5分钟1个带宽取值点,每天288个取值点,每月总取值点数为 288x 30 = 8640个;将所有的点按带宽数值降序排列,去掉前5%的点(8640 x 5% = 432 个点),即第433个点为月95峰值带宽计费点。
3.动态IP汇聚需要先填写拨号配置,请前往 软路由 – 汇聚拨号配置 填写,保存服务器信息后选择对应的拨号配置提交即可。
4.请点击下方添加节点提交设备信息,如有疑问,请加入官方群咨询二猫。
官方站点:
https://bonuscloud.work/

5分钟教你搞定RAID模式

磁盘阵列(Redundant Arrays of Independent Disks,RAID)

RAID 0

RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。

image

RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。

为了解决这一问题,便出现了RAID 0的另一种模式。即在N块硬盘上选择合理的带区来创建带区集。其原理就是将原先顺序写入的数据被分散到所有的四块硬盘中同时进行读写。四块硬盘的并行操作使同一时间内磁盘读写的速度提升了4倍。

在创建带区集时,合理的选择带区的大小非常重要。如果带区过大,可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使数据的读写仍然只局限在少数的一、两块硬盘上,不能充分的发挥出并行操作的优势。另一方面,如果带区过小,任何I/O指令都可能引发大量的读写操作,占用过多的控制器总线带宽。因此,在创建带区集时,我们应当根据实际应用的需要,慎重的选择带区的大小。

带区集虽然可以把数据均匀的分配到所有的磁盘上进行读写。但如果我们把所有的硬盘都连接到一个控制器上的话,可能会带来潜在的危害。这是因为当我们频繁进行读写操作时,很容易使控制器或总线的负荷 超载。为了避免出现上述问题,建议用户可以使用多个磁盘控制器。最好解决方法还是为每一块硬盘都配备一个专门的磁盘控制器。

虽然RAID 0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。所以,RAID 0一般只是在那些对数据安全性要求不高的情况下才被人们使用。

RAID1

image

RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。

RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。

3、RAID0+1

image

从RAID 0+1名称上我们便可以看出是RAID0与RAID1的结合体。在我们单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。

RAID: LSI MegaRAID、Nytro和Syncro

MegaRAID、Nytro和Syncro都是LSI 针对RAID而推出的解决方案,并且一直在创造更新。

LSI MegaRAID的主要定位是保护数据,通过高性能、高可靠的RAID控制器功能,为数据提供高级别的保护。LSI MegaRAID在业界有口皆碑。

LSI Nytro的主要定位是数据加速,它充分利用当今备受追捧的闪存技术,极大地提高数据I/O速度。LSI Nytro包括三个系列:LSI Nytro WarpDrive加速卡、LSI Nytro XD 应用加速存储解决方案和LSI Nytro MegaRAID 应用加速卡。Nytro MegaRAID主要用于DAS环境,Nytro WarpDrive加速卡主要用于SAN和NAS环境,Nytro XD解决方案由Nytro WarpDrive加速卡和Nytro XD 智能高速缓存软件两部分构成。

LSI Syncro的定位主要用于数据共享,提高系统的可用性、可扩展性,降低成本。

LSI通过MegaRAID提供基本的可靠性保障;通过Nytro实现加速;通过Syncro突破容量瓶颈,让价格低廉的存储解决方案可以大规模扩展,并且进一步提高可靠性。

RAID2:带海明码校验

从概念上讲,RAID 2 同RAID 3类似, 两者都是将数据条块化分布于不同的硬盘上, 条块单位为位或字节。然而RAID 2 使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂。因此,在商业环境中很少使用。下图左边的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。没有免费的午餐,这里也一样,要利用海明码,必须要付出数据冗余的代价。输出数据的速率与驱动器组中速度最慢的相等。

RAID3:带奇偶校验码的并行传送

这种校验码与RAID2不同,只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。不同于RAID 2,RAID 3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。 如果奇偶盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。

RAID4:带奇偶校验码的独立磁盘结构

RAID4和RAID3很象,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点和RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。

RAID5:分布式奇偶校验的独立磁盘结构

从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有”写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构

名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。

RAID7:优化的高速数据传送磁盘结构

RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。

RAID10:高可靠性与高效磁盘结构

这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于数据容量不大,但要求速度和差错控制的数据库中。

RAID53:高效数据传送磁盘结构

越到后面的结构就是对前面结构的一种重复和再利用,这种结构就是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。这是因为所有的数据必须经过带区和按位存储两种方法,在考虑到效率的情况下,要求这些磁盘同步真是不容易。

作者:我是李小胖
链接:https://www.jianshu.com/p/b3dcfc313a35
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猕猴桃CDN

猕猴桃CDN

猕猴桃(CDN IPES安装 AQY)Linux安装教程

https://blog.csdn.net/jsdtwyk/article/details/103005102

 

Windows上机教程请访问:

猕猴桃小水管教程

N1盒子刷机文件请查看群文件!硬盘仅支持EXT4格式!
或者http://nas.wyk.hk:99/PCDN/%E7%8C%95%E7%8C%B4%E6%A1%83/firmware-n1-mht-v1.0.0.img.xz
MD5: 0F305289A8AEAF0BE7326E37893CA648
SHA1: EF74C4C450BDC22D72B1E9919C51BEDDA67D1BD1
CRC32: 1B598075

将镜像写入U盘, 插到能U盘启动的N1设备即可
可接显示器查看刷机进度,刷机约5分钟

有时间再写教程,刷机过程请勿断电
刷机好了以后 和玩客云一样进ip管理

 

207637910

https://www.bdkjcdn.com/earnings

 

 

2018年中国CDN行业市场规模及前景分析,CDN技术将整体迎来升级

一、CDN行业定义及产业链分析

CDN,全称 Content Delivery Network,即内容分发网络,是指利用分布在不同区域的节点服务器群组成流量分配管理网络平台,为用户提供内容的分散存储和高速缓存。其原理是通过在现有的 Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,由缓存服务器为用户提供内容服务,解决网络拥挤的状况,提高用户访问网站的响应速度。

从产业链来看,CDN 上游行业主要包括服务器、存储设备、网络传输设备等硬件设备厂商,以及提供 IDC、网络带宽等相关资源的服务商和运营商。CDN 下游行业为互联网内容服务商,主要包括门户网站、短视频网站、网络直播、企业客户等。门户网站、视频网站、直播网站由于数据资源传输量大、时效性高,成为 CDN 的核心下游用户。

CDN行业产业链结构示意图

资料来源:华经产业研究院整理

二、全球及中国CDN市场规模

数据显示,2019年至2021年,全球CDN市场规模将实现35.16%、29.32%、47.49%的增速,较2016至2018年增速有大幅提升,总体市场规模于2021年达到232亿美元。

2011-2018年全球CDN市场规模

资料来源:公开资料整理

工信部定制“超高清视频产业发展行动计划(2018-2022 年)”推动超高清内容建设和行业应用,直接促进 CDN 行业的发展。因此 CDN行业随着流量快速增长仍处于红利期, 2017 年,中国 CDN 市场容量为 136.1 亿元,同比增长 29.1%。2018年 CDN 市场规模 180亿元,同比增长32.3%,2019 年市场规模预计为250亿元,同比增长 38.89%,保持快速增长。

2011-2018年中国CDN市场规模

资料来源:公开资料整理

三、CDN市场竞争格局

目前 CDN 市场的玩家大致可以分为三类,第一类是以网宿科技、蓝汛、帝联科技等为代表的传统 CDN 服务商,其特点是企业自建服务器,为客户提供专业的 CDN 服务,第二类是云 CDN 服务商,包括阿里云、腾讯云、百度云、 金山云以及天翼云、沃云等运营商云平台,其特点是产品比较全面,CDN 通常与云服务进行对接;第三类是星域和云帆加速为代表的创新型 CDN 厂商,其主要特点是通过 P2P 技术和智能硬件结合来扩展节点。

随着越来越多的企业进入到 CDN 市场中,我国 CDN 市场已经逐渐趋于成熟,并呈现出“传统 CDN 服务商,云计算企业 CDN,创新型 CDN”三方竞争的局面。2016年3月,工信部对 CDN业务纳入牌照化管理,行业门槛日渐提高,CDN行业逐步向行业头部公司集中。截至2019年3月 ,拥有全国范围的 CDN 经营资质的企业仅有19家。

CDN行业主要参与者分析

CDN行业主要参与者分析

资料来源:公开资料整理

相关报告:华经产业研究院发布的《2019-2025年中国内容分发网络(CDN)行业竞争格局分析及投资战略报告

四、我国CDN市场发展前景及趋势分析

我国固定宽带及4G下载速率稳步提升,4G发展推动移动互联网流量加速发展。截止2018年末,我国固定宽带平均下载速率已达28.06Mbps、4G网络平均下载速率达22.05Mbps,移动互联网接入流量大幅提升至711亿GB,月户均移动互联网接入流量达4.42GB/月/户。此外,5G技术将进一步提升下载速率,且随着5G商用化进程加速,应用场景将快速膨胀,信息交互和处理需求将大幅提高,5G将有望带来互联网流量的又一轮大发展浪潮,推动CDN服务需求显著提升。

2013-2018年我国移动互联网流量情况分析

资料来源:公开资料整理

未来CDN市场将呈现以下几个趋势:

1、“百花”争鸣,传统CDN厂商独大、独揽CDN市场的情景将不复存在

在互联网+新时期下,除“财大气粗”的互联网巨头BAT们,凭借技术创新开拓市场的创新型专业CDN厂商实力同样不容小觑。典型代表如迅雷星域CDN、七牛CDN等,前者以独创的无限节点等创新技术,后者则凭多IDC架构分布式存储技术,均实现在问世短短几个月时间里,即迅速开拓市场并跻身CDN市场前排位置。未来的CDN市场不再是龙头企业一家独大,大家将各凭本事“吃饭”。

2、CDN技术将整体迎来升级

在高增长机会的同时,CDN也面临着互联网新技术的挑战。事实上,在云计算、P2P等新技术的带动下,CDN的技术架构正在发生变化。

一方面,CDN正与云计算技术紧密拥抱。云服务商如阿里云、腾讯云等将云计算和CDN众多功能整合起来,提供一体化的CDN解决方案;而创新型专业CDN服务商星域CDN则借助迅雷强大的云计算实力、庞大的用户数量,以及自身几十万数量级的智能硬件终端、小米强大的智能家庭布局优势资源,建立起庞大的“云+端”生态圈,极大地拓展了CDN的应用场景;而老将网宿,则正在谋划自建云计算。

另一方面,创新型专业CDN展示出的创新技术为CDN行业带来了巨大的技术升级动力。星域CDN的无限节点、星域调度、弱网加速等创新技术,首次将传输距离拉进至1km,并解决了弱网加速的困境,做到了视频直播最小延迟至2s的纪录,无疑将刺激其它CDN服务商进行技术革新,从而共同推动行业整体技术升级。

3、CDN市场毛利率下滑,价格将下探

以陈磊放言“CDN行业价格将腰斩”开始,BAT等互联网巨头的切入,将CDN市场的价格不断下调,一度掀起轰轰烈烈的价格大战,直至星域CDN以冰点价格入市,才终止了愈演愈烈的价格战。但随着技术升级与市场竞争加剧,行业价格将不断下滑已是不争的事实。

4、CDN服务将推陈出新,服务质量将更高

CDN正在从专为大型互联网公司服务,转变成为各行各业的大、中、小各类企业服务。尽管目前仍无一套完善的CDN服务质量评价标准,但CDN厂商们几乎全在下大力气让服务与时俱进。其中,云服务商阿里云CDN提出了100倍故障赔偿方案,而星域CDN则首次提出100%满意专业定制化服务承诺。

PHP7原生MySQL数据库操作

连接到 MySQL服务器

mysqli_connect(host, username, password [,dbname] [,port]);
– 参数:
host:MySQL服务器。可以包含端口号,默认值为“localhost:3306”
username:用户名。默认值是服务器进程所有者的用户名;
password:密码。
dbname:数据库名称。
port:MySQL服务器的端口号,默认为3306。
– 返回值:如果连接成功,则返回 mysqli 连接对象。如果失败,则返回 false。
选择当前数据库

mysqli_select_db(mysqliLink, database)
– 描述:一个数据库服务器可能包含很多的数据库,通常需要针对某个具体的数据库进行编程
– 返回值:如果成功返回TRUE,失败则返回FALSE
设置客户端字符集

mysqli_set_charset(mysqliLink, charset)
– 描述:设置默认字符编码
– 返回:成功时返回 TRUE, 或者在失败时返回 FALSE。
发送一条 MySQL 查询

mysqli_query(mysqliLink , queryStr)
– 参数:
query是查询字符串;
link是创建的活动的数据库连接;
– 说明:mysqli_query() 仅对 SELECT,SHOW 或 DESCRIBE 语句返回一个mysqli_result结果集对象,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysqli_query()在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。
– 注意:查询字符串不应以分号结束,和命令行模式下有区别。
从结果集中取得一行作为关联数组,或数字数组,或二者兼有

mysqli_fetch_array ( mysqliResult [, resultType] )
– 参数:resultType是一个常量,取值:MYSQLI_BOTH(两者兼有,默认)、MYSQLI_ASSOC(关联索引)、MYSQLI_NUM(数字索引)
– 返回:返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
– 注意:本函数返回的字段名区分大小写。
从结果集中取得所有行作为关联数组、枚举数组、或二者兼有

mysqli_fetch_all(mysqliResult [, resultType ])
– 参数:$result_type是一个常量,取值:MYSQLI_BOTH(两者兼有,默认)、MYSQLI_ASSOC(关联索引)、MYSQLI_NUM(数字索引)
– 返回:返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
– 注意:本函数返回的字段名区分大小写。
取得结果集中行的数目

mysqli_num_rows(mysqliResult)
– 注意:此命令仅对 SELECT 语句有效。
从结果集中取得一行作为关联数组

array mysqli_fetch_assoc(mysqliResult)
– 返回值:从结果集取得的行生成的关联数组,如果没有更多行则返回 FALSE;
– 注意:此函数返回的字段名大小写敏感。
取得前一次 MySQL 操作所影响的记录行数

mysqli_affected_rows ( mysqliLink )
– 说明:取得最近一次与 $link 关联的 SELECT、INSERT、UPDATE 或 DELETE 查询所影响的记录行数。
– 注意:如果最近一次查询失败,函数返回-1。当使用UPDATE查询,MySQL不会将原值和新值一样的值更新,返回值不一定就是查询条件所符合的记录,只有修改过的记录数才会被返回。
释放与结果集相关联的内存

mysqli_free_result(mysqliResult)
– 参数:mysqliResult为结果集对象。
返回上一个 MySQL 连接产生的文本错误信息

mysqli_connect_error()
– 参数:没有参数
———————
作者:Maybion
来源:CSDN
原文:https://blog.csdn.net/github_27314097/article/details/82421018
版权声明:本文为博主原创文章,转载请附上博文链接!

PHP7连接数据库的方法

mysqli面向对象风格
<?php
$serve = ‘localhost:3306’;
$username = ‘root’;
$password = ‘admin123’;
$dbname = ‘examples’;
$mysqli = new Mysqli($serve,$username,$password,$dbname);
if($mysqli->connect_error){
die(‘connect error:’.$mysqli->connect_errno);
}
$mysqli->set_charset(‘UTF-8’); // 设置数据库字符集

$result = $mysqli->query(‘select * from customers’);
$data = $result->fetch_all(); // 从结果集中获取所有数据
print_r($data);
?>

mysqli面向过程风格

<?php
$serve = ‘localhost:3306’;
$username = ‘root’;
$password = ‘admin123’;
$dbname = ‘examples’;
$link = mysqli_connect($serve,$username,$password,$dbname);
mysqli_set_charset($link,’UTF-8′); // 设置数据库字符集
$result = mysqli_query($link,’select * from customers’);
$data = mysqli_fetch_all($result); // 从结果集中获取所有数据
print_r($data);

?>

PDO连接数据库
<?php
$serve = ‘mysql:host=localhost:3306;dbname=examples;charset=utf8’;
$username = ‘root’;
$password = ‘admin123’;

try{ // PDO连接数据库若错误则会抛出一个PDOException异常
$PDO = new PDO($serve,$username,$password);
$result = $PDO->query(‘select * from customers’);
$data = $result->fetchAll(PDO::FETCH_ASSOC); // PDO::FETCH_ASSOC表示将对应结果集中的每一行作为一个由列名索引的数组返回
print_r($data);
} catch (PDOException $error){
echo ‘connect failed:’.$error->getMessage();
}
?>

使用PDO或mysqli都可以连接mysql,但更推荐使用PDO连接数据库,因为PDO支持12种不同的数据库驱动程序,mysqli只支持mysql,而且PDO性能更高

图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100……

RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。

一、RAID 概述

1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 RAID 概念 [1] ,即廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )。由于当时大容量磁盘比较昂贵, RAID 的基本思想是将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能、可靠性。随着磁盘成本和价格的不断降低, RAID 可以使用大部分的磁盘, “廉价” 已经毫无意义。因此, RAID 咨询委员会( RAID Advisory Board, RAB )决定用 “ 独立 ” 替代 “ 廉价 ” ,于时 RAID 变成了独立磁盘冗余阵列( Redundant Array of Independent Disks )。但这仅仅是名称的变化,实质内容没有改变。

RAID 这种设计思想很快被业界接纳, RAID 技术作为高性能、高可靠的存储技术,已经得到了非常广泛的应用。 RAID 主要利用数据条带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,可以把 RAID 分为不同的等级,以满足不同数据应用的需求。 D. A. Patterson 等的论文中定义了 RAID1 ~ RAID5 原始 RAID 等级, 1988 年以来又扩展了 RAID0 和 RAID6 。近年来,存储厂商不断推出诸如 RAID7 、 RAID10/01 、 RAID50 、 RAID53 、 RAID100 等 RAID 等级,但这些并无统一的标准。目前业界公认的标准是 RAID0 ~ RAID5 ,除 RAID2 外的四个等级被定为工业标准,而在实际应用领域中使用最多的 RAID 等级是 RAID0 、 RAID1 、 RAID3 、 RAID5 、 RAID6 和 RAID10。

从实现角度看, RAID 主要分为软 RAID、硬 RAID 以及软硬混合 RAID 三种。软 RAID 所有功能均有操作系统和 CPU 来完成,没有独立的 RAID 控制 / 处理芯片和 I/O 处理芯片,效率自然最低。硬 RAID 配备了专门的 RAID 控制 / 处理芯片和 I/O 处理芯片以及阵列缓冲,不占用 CPU 资源,但成本很高。软硬混合 RAID 具备 RAID 控制 / 处理芯片,但缺乏 I/O 处理芯片,需要 CPU 和驱动程序来完成,性能和成本 在软 RAID 和硬 RAID 之间。

RAID 每一个等级代表一种实现方法和技术,等级之间并无高低之分。在实际应用中,应当根据用户的数据应用特点,综合考虑可用性、性能和成本来选择合适的 RAID 等级,以及具体的实现方式。

二、基本原理

RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。 RAID 是一类多磁盘管理技术,其向主机环境提供了成本适中、数据可靠性高的高性能存储。 SNIA 对 RAID 的定义是 [2] :一种磁盘阵列,部分物理存储空间用来记录保存在剩余空间上的用户数据的冗余信息。当其中某一个磁盘或访问路径发生故障时,冗余信息可用来重建用户数据。磁盘条带化虽然与 RAID 定义不符,通常还是称为 RAID (即 RAID0 )。

RAID 的初衷是为大型服务器提供高端的存储功能和冗余的数据安全。在整个系统中, RAID 被看作是由两个或更多磁盘组成的存储空间,通过并发地在多个磁盘上读写数据来提高存储系统的 I/O 性能。大多数 RAID 等级具有完备的数据校验、纠正措施,从而提高系统的容错性,甚至镜像方式,大大增强系统的可靠性, Redundant 也由此而来。

这里要提一下 JBOD ( Just a Bunch of Disks )。最初 JBOD 用来表示一个没有控制软件提供协调控制的磁盘集合,这是 RAID 区别与 JBOD 的主要因素。目前 JBOD 常指磁盘柜,而不论其是否提供 RAID 功能。

RAID 的两个关键目标是提高数据可靠性和 I/O 性能。磁盘阵列中,数据分散在多个磁盘中,然而对于计算机系统来说,就像一个单独的磁盘。通过把相同数据同时写入到多块磁盘(典型地如镜像),或者将计算的校验数据写入阵列中来获得冗余能力,当单块磁盘出现故障时可以保证不会导致数据丢失。有些 RAID 等级允许更多地 磁盘同时发生故障,比如 RAID6 ,可以是两块磁盘同时损坏。在这样的冗余机制下,可以用新磁盘替换故障磁盘, RAID 会自动根据剩余磁盘中的数据和校验数据重建丢失的数据,保证数据一致性和完整性。数据分散保存在 RAID 中的多个不同磁盘上,并发数据读写要大大优于单个磁盘,因此可以获得更高的聚合 I/O 带宽。当然,磁盘阵列会减少全体磁盘的总可用存储空间,牺牲空间换取更高的可靠性和性能。比如, RAID1 存储空间利用率仅有 50% , RAID5 会损失其中一个磁盘的存储容量,空间利用率为 (n-1)/n 。

磁盘阵列可以在部分磁盘(单块或多块,根据实现而论)损坏的情况下,仍能保证系统不中断地连续运行。在重建故障磁盘数据至新磁盘的过程中,系统可以继续正常运行,但是性能方面会有一定程度上的降低。一些磁盘阵列在添加或删除磁盘时必须停机,而有些则支持热交换 ( Hot Swapping ),允许不停机下替换磁盘驱动器。这种高端磁盘阵列主要用于要求高可能性的应用系统,系统不能停机或尽可能少的停机时间。一般来说, RAID 不可作为数据备份的替代方案,它对非磁盘故障等造成的数据丢失无能为力,比如病毒、人为破坏、意外删除等情形。此时的数据丢失是相对操作系统、文件系统、卷管理器或者应用系统来说的,对于 RAID 系统来身,数据都是完好的,没有发生丢失。所以,数据备份、灾 备等数据保护措施是非常必要的,与 RAID 相辅相成,保护数据在不同层次的安全性,防止发生数据丢失。

RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity ) [3][4][5] 。镜像,将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。数据条带,将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。数据校验,利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。 不同等级的 RAID 采用一个或多个以上的三种技术,来获得不同的数据可靠性、可用性和 I/O 性能。至于设计何种 RAID (甚至新的等级或类型)或采用何种模式的 RAID ,需要在深入理解系统需求的前提下进行合理选择,综合评估可靠性、性能和成本来进行折中的选择。

RAID 思想从提出后就广泛被业界所接纳,存储工业界投入了大量的时间和财力来研究和开发相关产品。而且,随着处理器、内存、计算机接口等技术的不断发展, RAID 不断地发展和革新,在计算机存储领域得到了广泛的应用,从高端系统逐渐延伸到普通的中低端系统。 RAID 技术如此流行,源于其具有显著的特征和优势,基本可以满足大部分的数据存储需求。总体说来, RAID 主要优势有如下几点:

(1) 大容量

这是 RAID 的一个显然优势,它扩大了磁盘的容量,由多个磁盘组成的 RAID 系统具有海量的存储空间。现在单个磁盘的容量就可以到 1TB 以上,这样 RAID 的存储容量就可以达到 PB 级,大多数的存储需求都可以满足。一般来说, RAID 可用容量要小于所有成员磁盘的总容量。不同等级的 RAID 算法需要一定的冗余开销,具体容量开销与采用算法相关。如果已知 RAID 算法和容量,可以计算出 RAID 的可用容量。通常, RAID 容量利用率在 50% ~ 90% 之间。

(2) 高性能

RAID 的高性能受益于数据条带化技术。单个磁盘的 I/O 性能受到接口、带宽等计算机技术的限制,性能往往很有 限,容易成为系统性能的瓶颈。通过数据条带化, RAID 将数据 I/O 分散到各个成员磁盘上,从而获得比单个磁盘成倍增长的聚合 I/O 性能。

(3) 可靠性

可用性和可靠性是 RAID 的另一个重要特征。从理论上讲,由多个磁盘组成的 RAID 系统在可靠性方面应该比单个磁盘要差。这里有个隐含假定:单个磁盘故障将导致整个 RAID 不可用。 RAID 采用镜像和数据校验等数据冗余技术,打破了这个假定。 镜像是最为原始的冗余技术,把某组磁盘驱动器上的数据完全复制到另一组磁盘驱动器上,保证总有数据副本可用。 比起镜像 50% 的冗余开销 ,数据校验要小很多,它利用校验冗余信息对数据进行校验和纠错。 RAID 冗余技术大幅提升数据可用性和可靠性,保证了若干磁盘出错时,不 会导致数据的丢失,不影响系统的连续运行。

(4) 可管理性

实际上, RAID 是一种虚拟化技术,它对多个物理磁盘驱动器虚拟成一个大容量的逻辑驱动器。对于外部主机系统来说, RAID 是一个单一的、快速可靠的大容量磁盘驱动器。这样,用户就可以在这个虚拟驱动器上来组织和存储应用系统数据。 从用户应用角度看,可使存储系统简单易用,管理也很便利。 由于 RAID 内部完成了大量的存储管理工作,管理员只需要管理单个虚拟驱动器,可以节省大量的管理工作。 RAID 可以动态增减磁盘驱动器,可自动进行数据校验和数据重建,这些都可以 大大简化管理工作。

三、关键技术

3.1 镜像

镜像是一种冗余技术,为磁盘提供保护功能,防止磁盘发生故障而造成数据丢失。对于 RAID 而言,采用镜像技术 典型地 将会同时在阵列中产生两个完全相同的数据副本,分布在两个不同的磁盘驱动器组上。镜像提供了完全的数据冗余能力,当一个数据副本失效不可用时,外部系统仍可正常访问另一副本,不会对应用系统运行和性能产生影响。而且,镜像不需要额外的计算和校验,故障修复非常快,直接复制即可。镜像技术可以从多个副本进行并发读取数据,提供更高的读 I/O 性能,但不能并行写数据,写多个副本会会导致一定的 I/O 性能降低。

镜像技术提供了非常高的数据安全性,其代价也是非常昂贵的,需要至少双倍的存储空间。高成本限制了镜像的广泛应用,主要应用于至关重要的数据保护,这种场合下数据丢失会造成巨大的损失。另外,镜像通过“ 拆分 ”能获得特定时间点的上数据快照,从而可以实现一种备份窗口几乎为零的数据备份技术。

3.2 数据条带

磁盘存储的性能瓶颈在于磁头寻道定位,它是一种慢速机械运动,无法与高速的 CPU 匹配。再者,单个磁盘驱动器性能存在物理极限, I/O 性能非常有限。 RAID 由多块磁盘组成,数据条带技术将数据以块的方式分布存储在多个磁盘中,从而可以对数据进行并发处理。这样写入和读取数据就可以在多个磁盘上同时进行,并发产生非常高的聚合 I/O ,有效提高了整体 I/O 性能,而且具有良好的线性扩展性。这对大容量数据尤其显著,如果不分块,数据只能按顺序存储在磁盘阵列的磁盘上,需要时再按顺序读取。而通过条带技术,可获得数倍与顺序访问的性能提升。

数据条带技术的分块大小选择非常关键。条带粒度可以是一个字节至几 KB 大小,分块越小,并行处理能力就越强,数据存取速度就越高,但同时就会增加块存取的随机性和块寻址时间。实际应用中,要根据数据特征和需求来选择合适的分块大小,在数据存取随机性和并发处理能力之间进行平衡,以争取尽可能高的整体性能。
数据条带是基于提高 I/O 性能而提出的,也就是说它只关注性能, 而对数据可靠性、可用性没有任何改善。实际上,其中任何一个数据条带损坏都会导致整个数据不可用,采用数据条带技术反而增加了数据发生丢失的概念率。

3.3 数据校验

镜像具有高安全性、高读性能,但冗余开销太昂贵。数据条带通过并发性来大幅提高性能,然而对数据安全性、可靠性未作考虑。数据校验是一种冗余技术,它用校验数据来提供数据的安全,可以检测数据错误,并在能力允许的前提下进行数据重构。相对镜像,数据校验大幅缩减了冗余开销,用较小的代价换取了极佳的数据完整性和可靠性。数据条带技术提供高性能,数据校验提供数据安全性, RAID 不同等级往往同时结合使用这两种技术。

采用数据校验时, RAID 要在写入数据同时进行校验计算,并将得到的校验数据存储在 RAID 成员磁盘中。校验数据可以集中保存在某个磁盘或分散存储在多个不同磁盘中,甚至校验数据也可以分块,不同 RAID 等级实现各不相同。当其中一部分数据出错时,就可以对剩余数据和校验数据进行反校验计算重建丢失的数据。校验技术相对于镜像技术的优势在于节省大量开销,但由于每次数据读写都要进行大量的校验运算,对计算机的运算速度要求很高,必须使用硬件 RAID 控制器。在数据重建恢复方面,检验技术比镜像技术复杂得多且慢得多。

海明校验码和 异或校验是两种最为常用的 数据校验算法。海明校验码是由理查德.海明提出的,不仅能检测错误,还能给出错误位置并自动纠正。海明校验的基本思想是:将有效信息按照某种规律分成若干组,对每一个组作奇偶测试并安排一个校验位,从而能提供多位检错信息,以定位错误点并纠正。可见海明校验实质上是一种多重奇偶校验。异或校验通过异或逻辑运算产生,将一个有效信息与一个给定的初始值进行异或运算,会得到校验信息。如果有效信息出现错误,通过校验信息与初始值的异或运算能还原正确的有效信息。

四、RAID 等级

4.1 JBOD

JBOD ( Just a Bunch Of Disks )不是标准的 RAID 等级,它通常用来表示一个没有控制软件提供协调控制的磁盘集合。 JBOD 将多个物理磁盘串联起来,提供一个巨大的逻辑磁盘。 JBOD (如图 1 )的数据存放机制是由第一块磁盘开始按顺序往后存储,当前磁盘存储空间用完后,再依次往后面的磁盘存储数据。 JBOD 存储性能完全等同于单块磁盘,而且也不提供数据安全保护。它只是简单提供一种扩展存储空间的机制, JBOD 可用存储容量等于所有成员磁盘的存储空间之和。目前 JBOD 常指磁盘柜,而不论其是否提供 RAID 功能。

RAID
图1 JBOD

4.2 标准 RAID 等级

SNIA 、 Berkeley 等组织机构把 RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、 RAID6 七个等级定为标准的 RAID 等级,这也被业界和学术界所公认。标准等级是最基本的 RAID 配置集合,单独或综合利用数据条带、镜像和数据校验技术。标准 RAID 可以组合,即 RAID 组合等级,满足 对性能、安全性、可靠性要求更高的存储应用需求。 [6][7][8][9][10][11]

1.RAID0

RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。 RAID0 将所在磁盘条带化后组成大容量的存储空间(如图 2 所示),将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行 I/O 操作,总线带宽得到充分利用。再加上不需要进行数据校验,RAID0 的性能在所有 RAID 等级中是最高的。理论上讲,一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。

RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。 因此, RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。

RAID
图2 RAID0 :无冗错的数据条带

2.RAID1

RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% 。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。工作原理如图 3 所示。

RAID1 与 RAID0 刚好相反,是为了增强数据安全性使两块 磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便。 RAID1 拥有完全容错的能力,但实现成本高。 RAID1 应用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。

RAID
图3 RAID1 :无校验的相互镜像

3.RAID2

RAID2 称为纠错海明码磁盘阵列,其设计思想是利用海明码实现数据校验冗余。海明码是一种在原始数据中加入若干校验码来进行错误检测和纠正的编码技术,其中第 2n 位( 1, 2, 4, 8, … )是校验码,其他位置是数据码。因此在 RAID2 中,数据按位存储,每块磁盘存储一位数据编码,磁盘数量取决于所设定的数据存储宽度,可由用户设定。图 4 所示的为数据宽度为 4 的 RAID2 ,它需要 4 块数据磁盘和 3 块校验磁盘。如果是 64 位数据宽度,则需要 64 块 数据磁盘和 7 块校验磁盘。可见, RAID2 的数据宽度越大,存储空间利用率越高,但同时需要的磁盘数量也越多。

海明码自身具备纠错能力,因此 RAID2 可以在数据发生错误的情况下对纠正错误,保证数据的安全性。它的数据传输性能相当高,设计复杂性要低于后面介绍的 RAID3 、 RAID4 和 RAID5 。

但是,海明码的数据冗余开销太大,而且 RAID2 的数据输出性能受阵列中最慢磁盘驱动器的限制。再者,海明码是按位运算, RAID2 数据重建非常耗时。由于这些显著的缺陷,再加上大部分磁盘驱动器本身都具备了纠错功能,因此 RAID2 在实际中很少应用,没有形成商业产品,目前主流存储磁盘阵列均不提供 RAID2 支持。

RAID
图 4 RAID2 :海明码校验

4.RAID3

RAID3 (图 5 )是使用专用校验盘的并行访问阵列,它采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据按位可字节的方式交叉存储到各个数据盘中。RAID3 至少需要三块磁盘,不同磁盘上同一带区的数据作 XOR 校验,校验值写入校验盘中。 RAID3 完好时读性能与 RAID0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,系统开销非常大,性能较低。

如果 RAID3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。当故障磁盘被更换后,系统按相同的方式重建故障盘中的数据至新磁盘。

RAID3 只需要一个校验盘,阵列的存储空间利用率高,再加上并行访问的特征,能够为高带宽的大量读写提供高性能,适用大容量数据的顺序访问应用,如影像处理、流媒体服务等。目前, RAID5 算法不断改进,在大数据量读取时能够模拟 RAID3 ,而且 RAID3 在出现坏盘时性能会大幅下降,因此常使用 RAID5 替代 RAID3 来运行具有持续性、高带宽、大量读写特征的应用。

RAID
图5 RAID3 :带有专用位校验的数据条带

5.RAID4

RAID4 与 RAID3 的原理大致相同,区别在于条带化的方式不同。 RAID4 (图 6 )按照 块的方式来组织数据,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。 RAID4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。

RAID4 在不同磁盘上的同级数据块同样使用 XOR 校验,结果存储在校验盘中。写入数据时, RAID4 按这种方式把各磁盘上的同级数据的校验值写入校验 盘,读取时进行即时校验。因此,当某块磁盘的数据块损坏, RAID4 可以通过校验值以及其他磁盘上的同级数据块进行数据重建。

RAID4 提供了 非常好的读性能,但单一的校验盘往往成为系统性能的瓶颈。对于写操作, RAID4 只能一个磁盘一个磁盘地写,并且还要写入校验数据,因此写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。正是如上这些限制和不足, RAID4 在实际应用中很少见,主流存储产品也很少使用 RAID4 保护。

RAID
图6 RAID4 :带有专用块级校验的数据条带

6.RAID5

RAID5 应该是目前最常见的 RAID 等级,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID5 不存在 RAID4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID5 还具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长,可比 RAID4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。

RAID5 (图 7)的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。

RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。

RAID
图7 RAID5 :带分散校验的数据条带

7.RAID6

前面所述的各个 RAID 等级都只能保护因单个磁盘失效而造成的数据丢失。如果两个磁盘同时发生故障,数据将无法恢复。 RAID6 (如图 8 )引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID5 等级。

RAID6 不仅要支持数据的恢复,还要支持校验数据的恢复,因此实现代价很高,控制器的设计也比其他等级更复杂、更昂贵。 RAID6 思想最常见的实现方式是采用两个独立的校验算法,假设称为 P 和 Q ,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。

RAID6 具有快速的读取性能、更高的容错能力。但是,它的成本要高于 RAID5 许多,写性能也较差,并有设计和实施非常复杂。因此, RAID6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID10 方案的经济性选择。

RAID
图8 RAID6 :带双重分散校验的数据条带

4.3 RAID 组合等级

标准 RAID 等级各有优势和不足。自然地,我们想到把多个 RAID 等级组合起来,实现优势互补,弥补相互的不足,从而达到在性能、数据安全性等指标上更高的 RAID 系统。目前在业界和学术研究中提到的 RAID 组合等级主要有 RAID00 、 RAID01 、 RAID10 、 RAID100 、 RAID30 、 RAID50 、 RAID53 、 RAID60 ,但实际得到较为广泛应用的只有 RAID01 和 RAID10 两个等级。当然,组合等级的实现成本一般都非常昂贵,只是在 少数特定场合应用。 [12]

1.RAID00

简单地说, RAID00 是由多个成员 RAID0 组成的高级 RAID0 。它与 RAID0 的区别在于, RAID0 阵列替换了原先的成员磁盘。可以把 RAID00 理解为两层条带化结构的磁盘阵列,即对条带再进行条带化。这种阵列可以提供更大的存储容量、更高的 I/O 性能和更好的 I/O 负均衡。

2. RAID01 和 RAID10

一些文献把这两种 RAID 等级看作是等同的,本文认为是不同的。 RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力,原理如图 9 所示。

RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。 RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50% 。

RAID
RAID
图 9 典型的 RAID01 (上)和 RAID10 (下)模型

3.RAID100

通常看作 RAID 1+0+0 ,有时也称为 RAID 10+0 ,即条带化的 RAID10 。原理如图 10 所示。 RAID100 的缺陷与 RAID10 相同,任意一个 RAID1 损坏一个磁盘不会发生数据丢失,但是剩下的磁盘存在单点故障的危险。最顶层的 RAID0 ,即条带化任务,通常由软件层来完成。

RAID100 突破了单个 RAID 控制器对物理磁盘数量的限制,可以获得更高的 I/O 负载均衡, I/O 压力分散到更多的磁盘上,进一步提高随机读性能,并有效降低热点盘故障风险。因此, RAID100 通常是大数据库的最佳选择。

RAID
图10 典型的 RAID100 模型

4.RAID30 ( RAID53 )、 RAID50 和 RAID60

这三种 RAID 等级与 RAID00 原理基本相同,区别在于成员 “ 磁盘 ” 换成了 RAID3 、 RAID5 和 RAID6 ,分别如图 11 、 12 、 13 所示。其中, RAID30 通常又被称为 RAID53[13] 。其实,可把这些等级 RAID 统称为 RAID X0 等级, X 可为标准 RAID 等级,甚至组合等级(如 RAID100 )。利用多层 RAID 配置,充分利用 RAID X 与 RAID0 的优点,从而获得在存储容量、数据安全性和 I/O 负载均衡等方面的大幅性能提升。

RAID
图11 典型的 RAID50 模型

RAID
图12 典型的 RAID50 模型

RAID
图13 典型的 RAID60 模型

4.4 非标准 RAID 等级

虽然标准 RAID 和组合 RAID 在具体实现上存在一定程度的不同,但与标准规范是保持一致或兼容的。然而除此之外,一些存储厂商还实现了非标准的 RAID 等级,往往都是公司私有的产品。这里简单介绍几个非标准 RAID 等级。 [14]

1.RAID7

RAID7 的全称是最优化的异步高 I/O 速率和高数据传输率,它与其他 RAID 等级有着明显区别。它不仅仅是一种技术,它还是一个独立存储计算机,自身带的操作系统和管理工具,完全可以独立运行。

RAID7 的存储计算机操作系统是一套实时事件驱动操作系统,其主要用来进行系统初始化和安排 RAID7 磁盘阵列的所有数据传输,并把它们转换到相应的物理存储驱动器上。 RAID7 通过自身系统中的专用控制板来控制读写速度,存储计算机操作系统可使主机 I/O 传递性能达到最佳。如果一个磁盘出现故障, RAID7 还能够自动执行恢复操作,并可管理备份磁盘的重建过程。

RAID7 突破了以往 RAID 标准的技术架构,采用了非同步访问,极大地减轻了数据写瓶颈,提高了 I/O 速度。 RAID7 系统内置实时操作系统还可自动对主机发送过来的读写指令进行优化处理,以智能化方式将可能被读取的数据预先读入快速缓存中,从而大大减少了磁头的转动次数,提高存储系统的 I/O 速度。

RAID7 可帮助用户有效地管理日益庞大的数据存储系统,并使系统的运行效率大大提高,满足不同用户的存储需求。但是, RAID7 的成本比其他 RAID 等级要高许多。另外, RAID7 已被某公司注册为商标,目前仅有一家公司提供 RAID7 的产品,用户没有更多的选择。技术封闭,缺乏主流专业存储厂商的参与和研发严重制约了 RAID7 的发展。

2.RAID-DP

按照 SNIA 最新的 RAID6 定义 [15] ,双重数据校验的磁盘阵列都可归为 RAID6 等级。 NetApp 公司按照 RAID6 的定义实现了 RAID-DP ,使用双重的数据校验来保护数据,可以保证两块磁盘同时损坏的情况下不发生数据丢失。与该公司的 RAID4 实现对比,传统的 RAID6 实现会致使系统性能损失 30% 左右,而 RAID-DP 的性能下降低于 2% 。上层文件系统的请求首先写入后端的 NVRAM 中,确保即使在 掉电的情况下也不会有任何数据丢失。因此,数据块不会立即更新,当执行新来的写操作,会对写操作进行聚集,然后存储控制器尝试一次性写入包括校验数据在内的整个数据条带。 RAID-DP 提供了比 RAID10 更好的数据保护,性能却不低于 RAID10 。对于相同大小的 RAID 组,在大多数情况下, RAID-DP 没有受到传统 RAID6 即时更新数据块的挑战,并提供更多的磁盘进行读写。它甚至允许磁盘固件实时更新而不发生任何中断。

3.RAID1.5

这是 HighPoint 公司的 RAID 产品,有时也被错误地称为 RAID15 。 RAID1.5 仅使用两个磁盘驱动器同时进行数据条带化和镜像,数据可以同时从两块磁盘进行读取。这其中的大部分工作都由硬件来完成,而非驱动程序。 Linux 、 Solaris 等操作系统实现的 RAID1 也可以实现同时从两块磁盘进行读取数据,因此 RAID1.5 并不优于传统的 RAID1。

4. RAID5E 、 RAID5EE 和 RAID6E

这种概念首次在 IBM ServerRAID 中被提出, E 是 Enhanced 的首字母。它们分别是对 RAID5 和 RAID6 的增强,增加了热冗余磁盘驱动器,冗余磁盘与其他磁盘一块进行数据块编排。这种设计使得 I/O 可以分散到包括热冗余在内的所在磁盘,从而减小单块磁盘的 I/O 带宽, 提供更高的性能。然而,热冗余磁盘不能够被多个阵列共享。

在实现中,实际上不存在专用的热冗余磁盘,就像 RAID5 和 RAID6 中没有专用的校验磁盘一样,所有的冗余数据块分布在所的成员磁盘中。例如,一个 10 块磁盘的 RAID5E ,包括 80% 数据块、 10% 的冗余数据块和 10% 的校验数据。对于 RAID5E 和 RAID6E ,冗余数据块位于阵列尾部,而 RAID5EE 则分布在整个 RAID 中。如果 RAID5E/5EE 中发生一块磁盘损坏,则系统会自动降级并重建至标准的 RAID5 。这一过程中, I/O 操作非常密集,并且需要花费大量时间,从几个小时至甚至几天,根据阵列的具体配置而异。当损坏磁盘被替换后,系统则又会自动升级并重建至原先的 RAID5E/5EE ,同时非常耗时。在上面的重建过程中,数据没有冗余保护。由于系统升级和降级时, I/O 活动密集且所需时间过长,因此实际应用中成员磁盘数据限制在 4~8 块。一旦超过 8 块磁盘,由于损坏磁盘的重建耗时和重建中发生第二块磁盘损坏造成的数据丢失, RAID5E/5EE 所获得的性能提升和其他获益都将严重降低。

5.RAID S (Parity RAID)

RAID S 是 EMC 公司的 Symmetrix 存储系统所使用的条带化校验 RAID 。该系统中,每个卷位于单独的物理磁盘上,多个卷组合进行数据校验。 EMC 最早引入了 RAID S 概念,后来改名为 Parity RAID 并应用于 Symmetrix DMX 平台。 EMC 现在也为 Symmetrix DMX 提供标准的 RAID5 , RAID S 已经不再 EMC 产品中使用。

6.Intel Matrix RAID

Matrix RAID 是 Intel ICH6R 和后继的南桥芯片的一个重要特征,可以通过 RAID BIOS 进行访问。它使用两块磁盘或者控制器能支持的最多磁盘,它的显著特征是允许 RAID0 、 1 、 5 、 10 多种数据卷混合共存,每块磁盘的指定部分分配给相应的 RAID 卷。 Matrix RAID 主要用于改善性能和数据完整性,实际应用中可以将操作系统应用于小的 RAID0 ,而大的 RAID1 存储关键数据以及用户数据。海量的流媒体数据容易发生数据丢失,可以考虑使用这种 RAID 。 linux 的 MD RAID 也可以实现类似的功能。

7.Linux MD RAID 10

RAID 10 是 Linux 内核所支持的软 RAID 等级之一,它还支持 RAID0、1、3、4、5、6 等级别。软 RAID 驱动程序通常通过构造典型的 RAID1+0 阵开来实现 RAID10 , 2.6.9 以后的内核也可作为单独的级别来实现。

MD RAID10 支持重复数据块的近布局和远布局两种模式。近布局与标准 RAID10 相同,镜像数据块相邻存储。对于 n 重镜像的 k 路条带,不要求 k 为 n 的 整倍数。两重镜像的2、3、4路条带的 MD RAID10 分布相当于 RAID1 、 RAID-1E 和 RAID10 。远布局模式下,所有磁盘被划分为 f ( f= 镜像数)个数据存储区,重复数据块相对于原始数据块具有一个磁盘和若干依偏移的距离,即保存在下一个磁盘对应存储区的偏移位置。这种设计能够提高镜像阵列的条带性能,有效提高顺序和随机读性能,但对写性能没有显著提升。许多应该通常具有读密集而写稀疏的特点, RAID10 适合此类数据应用。需要指出的是,近布局和远布局两种模式可以同时使用,这种情况下将有 n * f 个数据副本。

8. IBM ServerRAID 1E

IBM 公司的 ServerRAID 阵列卡系列支持任意数量驱动器上的两路镜像,多个磁盘对数据块进行轮转镜像。这种配置能够对不相邻磁盘驱动器发生的损坏进行容错,其他的存储系统也支持这种模式,比如 SUN 公司的 StorEdge T3 。

9.RAID-K

Kaleidescape 公司实现了一种称为 RAID-K[16] 的 RAID 类型。 RAID-K 与 RAID4 相似,但不对文件数据进行块级的条带化处理,它企图将整个电影或音乐集合完整地存储在单个磁盘上。另外,它的冗余校验信息可存储在多个磁盘上,从而适应由多个容量不同的磁盘所组成的逻辑磁盘。而且,冗余数据包含比校验信息更多的数据,用于获取更高的容错性。这些特征可以为影像、音乐提供更好的性能,增加数据存储的安全性。 RAID-K 还可以允许用户以增量方式扩充存储容量,能够增加容量更大的磁盘,甚至它还可以增加包含数据(仅限影像和音乐)的磁盘。 RAID-K 会自动把这些磁盘组建成 RAID-K 阵列和 Kaleidescape 文件系统。

10. RAID-Z

RAID-Z 是集成在 SUN 公司 ZFS 文件系统中的一种与 RAID5 相似的 RAID 模式。利用写时复制策略, RAID-Z 避免了 RAID5 的写操作困境(即更新数据同时需要更新校验数据),它不用新数据覆盖旧数据,而是把新数据写到新位置并自动更新数据指针。对于小的写操作,仅仅执行完全的写条带操作,有效避免 “ 读取-更改-写回 ” 的操作需求。另外,还可以直接对小写操作使用镜像替换校验进行保护,因为文件系统了解下层存储结构,可以在必要时分配 额外存储空间。 ZFS 还实现了 RAID-Z2 ,提供类似与 RAID6 的双重校验保护能力,可以保证不块磁盘发生损坏而不发生数据丢失。根据 2009 年 6 月的更新, ZFS 加入了三重校验 RAID 支持,或许称为 RAID-Z3 。

五、实现方式

通常计算机功能既可以由硬件来实现,也可以由软件来实现。对于 RAID 系统而言,自然也不例外,它可以采用软件方式实现,也可以采用硬件方式实现,或者采用软硬结合的方式实现。 [3][8]

5.1 软 RAID

软 RAID 没有专用的控制芯片和 I/O 芯片,完全由操作系统和 CPU 来实现所的 RAID 的功能。现代操作系统基本上都提供软 RAID 支持,通过在磁盘设备驱动程序上添加一个软件层,提供一个物理驱动器与逻辑驱动器之间的抽象层。目前,操作系统支持的最常见的 RAID 等级有 RAID0 、 RAID1 、 RAID10 、 RAID01 和 RAID5 等。比如, Windows Server 支持 RAID0 、 RAID1 和 RAID5 三种等级, Linux 支持 RAID0 、 RAID1 、 RAID4 、 RAID5 、 RAID6 等, Mac OS X Server 、 FreeBSD 、 NetBSD 、 OpenBSD 、 Solaris 等操作系统也都支持相应的 RAID 等级。

软 RAID 的配置管理和数据恢复都比较简单,但是 RAID 所有任务的处理完全由 CPU 来完成,如计算校验值,所以执行效率比较低下,这种方式需要消耗大量的运算资源,支持 RAID 模式 较少,很难广泛应用。

软 RAID 由操作系统来实现,因此系统所在分区不能作为 RAID 的逻辑成员磁盘,软 RAID 不能保护系统盘 D 。对于部分操作系统而言, RAID 的配置信息保存在系统信息中,而不是单独以文件形式保存在磁盘上。这样当系统意外崩溃而需要重新安装时, RAID 信息就会丢失。另外,磁盘的容错技术并不等于完全支持在线更换、热插拔或热交换,能否支持错误磁盘的热交换与操作系统实现相关,有的操作系统热交换。

5.2 硬 RAID

硬 RAID 拥有自己的 RAID 控制处理与 I/O 处理芯片,甚至还有阵列缓冲,对 CPU 的占用率和整体性能是三类实现中最优的,但实现成本也最高的。硬 RAID 通常都支持热交换技术,在系统运行下更换故障磁盘。

硬 RAID 包含 RAID 卡和主板上集成的 RAID 芯片, 服务器平台多采用 RAID 卡。 RAID 卡由 RAID 核心处理芯片( RAID 卡上的 CPU )、端口、缓存和电池 4 部分组成。其中,端口是指 RAID 卡支持的磁盘接口类型,如 IDE/ATA 、 SCSI 、 SATA 、 SAS 、 FC 等接口。

5.3 软硬混合 RAID

软 RAID 性能欠佳,而且不能保护系统分区,因此很难应用于桌面系统。而硬 RAID 成本非常昂贵,不同 RAID 相互独立,不具互操作性。因此,人们采取软件与硬件结合的方式来实现 RAID ,从而获得在性能和成本上的一个折中,即较高的性价比。

这种 RAID 虽然采用了处理控制芯片,但是为了节省成本,芯片往往比较廉价且处理能力较弱, RAID 的任务处理大部分还是通过固件驱动程序由 CPU 来完成。

六、RAID 应用选择

RAID 等级的选择主要有三个因素,即数据可用性、 I/O 性能和成本。 目前,在实际应用中常见的主流 RAID 等级是 RAID0 , RAID1 , RAID3 , RAID5 , RAID6 和 RAID10 ,它们之间的技术对比情况如表 1 所示。如果不要求可用性,选择 RAID0 以获得高性能。如果可用性和性能是重要的,而成本不是一个主要因素,则根据磁盘数量选择 RAID1 。如果可用性,成本和性能都同样重要,则根据一般的数据传输和磁盘数量选择 RAID3 或 RAID5 。在实际应用中,应当根据用户的数据应用特点和具体情况,综合考虑可用性、性能和成本来选择合适的 RAID 等级。 [10]

表1 主流 RAID 等级技术对比

RAID 等级 RAID0 RAID1 RAID3 RAID5 RAID6 RAID10
别名 条带 镜像 专用奇偶校验条带 分布奇偶校验条带 双重奇偶校验条带 镜像加条带
容错性
冗余类型
热备份选择
读性能
随机写性能 一般 一般
连续写性能 一般
需要磁盘数 n≥1 2n (n≥1) n≥3 n≥3 n≥4 2n(n≥2)≥4
可用容量  全部 50% (n-1)/n (n-1)/n (n-2)/n 50%

近年来,企业的信息化水平不断发展,数据已经取代计算成为了信息计算的中心,信息数据的安全性就显得尤为至关重要。随着存储技术的持续发展, RAID 技术在成本、性能、数据安全性等诸多方面都将优于其他存储技术,例如磁带库、光盘库等,大多数企业数据中心首选 RAID 作为存储系统。当前存储行业的知名存储厂商均提供全线的磁盘阵列产品,包括面向个人和中小企业的入门级的低端 RAID 产品,面向大中型企业的中高端 RAID 产品。这些存储企业包括了国内外的主流存储厂商,如 EMC 、 IBM 、 HP 、 SUN 、 NetApp 、 NEC 、 HDS 、 H3C 、 Infortrend 、华赛等。另外,这些厂商在提供存储硬件系统的同时,还往往提供非常全面的软件系统,这也是用户采购产品的一个主要参考因素。

不同的存储厂商的产品在技术、成本、性能、管理、服务等方面各有优势和不足。用户选择 RAID 的原则是:在成本预算内,满足数据存储需求的前提下,选择最优的存储厂商解决方案。因此,首先用户需要对存储需求作深入的调研和分析,并给出成本预算,然后对众多存储厂商的解决方案进行分析和对比,最后选择出一个综合最优的存储方案。其中,存储产品的扩展性和存储厂家的售后服务需要重点考察,存储需求(如容量、性能)可能会不断升级,存储产品发生故障后的维修和支持保障,这些都要未雨先缪。

七、总结与展望

回顾 RAID 发展历史,从首次提出概念至今已有二十多年。在此期间,整个社会信息化水平不断提高,数据呈现爆炸式增长趋势,数据取代计算成为信息计算的中心。这促使人们对数据愈加重视,不断追求海量存储容量、高性能、高 安全性、高可用性、可扩展性、可管理性等等。 RAID 技术在这样强大的存储需求推动下不断发展进步,时至今日技术已经非常成熟,在各种数据存储系统中得到了十分广泛的应用。

正是由于技术发展的成熟, RAID 技术的未来发展已经不被广泛看好,甚至预言在不久的将来会停止发展,称之为 “ 僵尸技术 ” ,即虽然宣布死亡,但在很长一段时间内仍会继续发挥巨大的价值。

然而,当前的 RAID 技术仍然存在诸多不足,各种 RAID 模式都存在自身的缺陷,主要集中在读写性能、实现成本、恢复时间窗口、多磁盘损坏等方面。因此, RAID 技术显然还存在很大的提升空间,具有很大的发展潜力。近年来新出现的 RAID 模式以及学术研究显示了其未来的发展趋势,包括分布式校验、多重校验、混合 RAID 模式、水平和垂直条带、基于固态内存 RAID 、网络校验等等。特别指出的是,多核 CPU 和 GPU 是当前的热点技术,它们大幅提升了主机的可用计算资源,这可以解决 RAID 对计算资源的消耗问题,软 RAID 很可能将重新成为热点。另外,存储硬件性能的提升、存储虚拟化技术、重复数据删除技术以及其他存储技术都会极大地推动 RAID 技术的进一步创新和发展。

原文链接:

http://www.hack520.com/169.html

NAT圆锥型的解释

1完全圆锥型NAT( Full Cone NAT )
完全圆锥型NAT,将从一个内部IP地址和端口来的所有请求,都映射到相同的外部IP地址和端口。并且,任何外部主机通过向映射的外部地址发送报文,都可以实现和内部主机进行通信。这是一种比较宽松的策略,只要建立了内部网络的IP地址和端口与公网IP地址和端口的映射关系,所有的Internet上的主机都可以访问该NAT之后的主机。
1.2地址限制圆锥型NAT( Address Restricted Cone NAT )
地址限制圆锥型NAT也是将从相同的内部IP地址和端口来的所有请求映射到相同的公网IP地址和端口。但是与完全圆锥型NAT不同,当且仅当内部主机之前已经向公网主机发送过报文,此时公网主机才能向内网主机发送报文。
1.3端口限制圆锥型NAT( Port Restricted Cone NAT )
类似与地址限制圆锥型NAT,但是更严格。端口受限圆锥型NAT增加了端口号的限制,当前仅当内网主机之前已经向公网主机发送了报文,公网主机才能和此内网主机通信。
更多资料请参考:
更多的资料请参考百度百科:
https://baike.baidu.com/item/nat/320024

 

重建被PHP7废弃的函数

////////重建被PHP7废弃的函数。
function php7兼容php6(){
if(!function_exists(‘ereg’))
{ function ereg($pattern, $subject, &$matches = []) { return preg_match(‘/’.$pattern.’/’, $subject, $matches); } }
if(!function_exists(‘eregi’))
{ function eregi($pattern, $subject, &$matches = []) { return preg_match(‘/’.$pattern.’/i’, $subject, $matches); } }
if(!function_exists(‘ereg_replace’))
{ function ereg_replace($pattern, $replacement, $string) { return preg_replace(‘/’.$pattern.’/’, $replacement, $string); } }
if(!function_exists(‘eregi_replace’))
{ function eregi_replace($pattern, $replacement, $string) { return preg_replace(‘/’.$pattern.’/i’, $replacement, $string); } }
if(!function_exists(‘split’))
{ function split($pattern, $subject, $limit = -1) { return preg_split(‘/’.$pattern.’/’, $subject, $limit); } }
if(!function_exists(‘spliti’))
{ function spliti($pattern, $subject, $limit = -1) { return preg_split(‘/’.$pattern.’/i’, $subject, $limit); } }
}

////以便可以兼容PHP6

 

 

EXCEL身份证号校验公式

EXCEL身份证号校验公式

=IF(RIGHT(F3,18)=””,””,(IF(MID(“10X98765432″,MOD(SUMPRODUCT(MID(RIGHT(F3,18),ROW($1:$17),1)*2^(18-ROW($1:$17))),11)+1,1)=MID(RIGHT(F3,18),18,18),”正确”,”错误”)))

=IF(LOOKUP((LEFT(H2,1)*7+MID(H2,2,1)*9+MID(H2,3,1)*10+MID(H2,4,1)*5+MID(H2,5,1)*8+MID(H2,6,1)*4+MID(H2,7,1)*2+MID(H2,8,1)+MID(H2,9,1)*6+MID(H2,10,1)*3+MID(H2,11,1)*7+MID(H2,12,1)*9+MID(H2,13,1)*10+MID(H2,14,1)*5+MID(H2,15,1)*8+MID(H2,16,1)*4+MID(H2,17,1)*2)-ROUNDDOWN((LEFT(H2,1)*7+MID(H2,2,1)*9+MID(H2,3,1)*10+MID(H2,4,1)*5+MID(H2,5,1)*8+MID(H2,6,1)*4+MID(H2,7,1)*2+MID(H2,8,1)+MID(H2,9,1)*6+MID(H2,10,1)*3+MID(H2,11,1)*7+MID(H2,12,1)*9+MID(H2,13,1)*10+MID(H2,14,1)*5+MID(H2,15,1)*8+MID(H2,16,1)*4+MID(H2,17,1)*2)/11,0)*11,{0,1,2,3,4,5,6,7,8,9,10},{“1″,”0″,”x”,”9″,”8″,”7″,”6″,”5″,”4″,”3″,”2″})=RIGHT(H2,1),”OK”,”Wrong”)

=IF(LOOKUP((LEFT(right(F3,18),1)*7+MID(right(F3,18),2,1)*9+MID(right(F3,18),3,1)*10+MID(right(F3,18),4,1)*5+MID(right(F3,18),5,1)*8+MID(right(F3,18),6,1)*4+MID(right(F3,18),7,1)*2+MID(right(F3,18),8,1)+MID(right(F3,18),9,1)*6+MID(right(F3,18),10,1)*3+MID(right(F3,18),11,1)*7+MID(right(F3,18),12,1)*9+MID(right(F3,18),13,1)*10+MID(right(F3,18),14,1)*5+MID(right(F3,18),15,1)*8+MID(right(F3,18),16,1)*4+MID(right(F3,18),17,1)*2)-ROUNDDOWN((LEFT(right(F3,18),1)*7+MID(right(F3,18),2,1)*9+MID(right(F3,18),3,1)*10+MID(right(F3,18),4,1)*5+MID(right(F3,18),5,1)*8+MID(right(F3,18),6,1)*4+MID(right(F3,18),7,1)*2+MID(right(F3,18),8,1)+MID(right(F3,18),9,1)*6+MID(right(F3,18),10,1)*3+MID(right(F3,18),11,1)*7+MID(right(F3,18),12,1)*9+MID(right(F3,18),13,1)*10+MID(right(F3,18),14,1)*5+MID(right(F3,18),15,1)*8+MID(right(F3,18),16,1)*4+MID(right(F3,18),17,1)*2)/11,0)*11,{0,1,2,3,4,5,6,7,8,9,10},{“1″,”0″,”x”,”9″,”8″,”7″,”6″,”5″,”4″,”3″,”2″})=RIGHT(right(F3,18),1),”正确”,”错误”)

EXCEL宏实现自动分页的方法

Sub 自动分页()
Dim i%, k%
Application.ScreenUpdating = False
ActiveSheet.ResetAllPageBreaks ‘从论坛高手那学到:在设置之前应该重设所有分页符,避免表格分页符混乱
For i = 13 To 4398
If Cells(i, 7) <> Cells(i – 1, 7) Then
ActiveSheet.HPageBreaks.Add Before:=Cells(i, 1)
‘Cells(i + 1, 1).Select
‘ActiveCell = 1
End If
If Cells(i, 1) = 20 Then
ActiveSheet.HPageBreaks.Add Before:=Cells(i + 1, 1)
‘Cells(i + 1, 1).Select
‘ActiveCell = 1
End If

Next
Application.ScreenUpdating = True

End Sub

Windows Server 2019 简体中文版

Windows Server 2019 简体中文版

Windows Server 2019 (x64) – DVD (Chinese-Simplified)

文件名:cn_windows_server_2019_x64_dvd_2d80e042.iso
SHA1:CFBC1F9BFA00A08E601548A056C67AB732CF32F7
文件大小:4.47GB
发布时间:2018-10-03
磁力链接:cn_windows_server_2019_x64_dvd_2d80e042.iso
百度网盘: https://pan.baidu.com/s/1DODdsiuSbj7-G_1hWLbqBg 密码: 3xab

Microsoft Hyper-V Server 2019 (x64) – DVD (Chinese-Simplified)

文件名:cn_microsoft_hyper-v_server_2019_x64_dvd_55a748df.iso
语言:Chinese – Simplified
SHA1:0F1265772F83E5319F22AB60FD6CB61EDFEBCEE1
发布日期:2018/10/03
文件大小:2.42 GB
磁力链接:cn_microsoft_hyper-v_server_2019_x64_dvd_55a748df.iso

Windows Server 2019 Essentials (x64) – DVD (Chinese-Simplified)

文件名:cn_windows_server_2019_essentials_x64_dvd_54aab2fc.iso
语言:Chinese – Simplified
SHA1:7F852212E84B7A3E6B7B5E278EEC1F712529076A
发布日期:2018/10/03
文件大小:4.25 GB
磁力链接:cn_windows_server_2019_essentials_x64_dvd_54aab2fc.iso

Windows Server 2019 繁体中文版

Windows Server 2019 (x64) – DVD (Traditional_Chinese) 繁体中文版

文件名:ct_windows_server_2019_x64_dvd_af47f9fe.iso
SHA1:27C54E74548A8BDAE3611CF5202E24EF7ED86FE1
文件大小:4.41GB
发布时间:2018-10-03
磁力链接:ct_windows_server_2019_x64_dvd_af47f9fe.iso
百度网盘: https://pan.baidu.com/s/1OLxW-SUKBFFH6jR1peYnTw 密码: 67sr
解压密码:www.unyoo.com

Microsoft Hyper-V Server 2019 (x64) – DVD (Chinese-Traditional)

文件名:ct_microsoft_hyper-v_server_2019_x64_dvd_5d4b6791.iso
语言:Chinese-Traditional
SHA1:1DCD73DAF81219CEE1A7F706ADDF5868B8992EA2
发布日期:2018/10/03
文件大小:2.37 GB
磁力链接:ct_microsoft_hyper-v_server_2019_x64_dvd_5d4b6791.iso

Windows Server 2019 Essentials (x64) – DVD (Chinese-Traditional)

文件名:ct_windows_server_2019_essentials_x64_dvd_60b61901.iso
语言:Chinese-Traditional
SHA1:F079227B3D642E4ED4659D3080597F8E83BF2037
发布日期:2018/10/03
文件大小:4.19 GB
磁力链接:ct_windows_server_2019_essentials_x64_dvd_60b61901.iso

Windows Server 2019 英文版

Windows Server 2019 (x64) – DVD (English) 英文版

文件名:en_windows_server_2019_x64_dvd_3c2cf1202.iso
SHA1:24F7C459F3612DF82205A45FDB68CA9F96BC5D80
文件大小:4.25GB
发布时间:2018-10-03
磁力链接:en_windows_server_2019_x64_dvd_3c2cf1202.iso
百度网盘: https://pan.baidu.com/s/1PROzT-5IVx34_g8yIvkNpA 密码: r6u2

Microsoft Hyper-V Server 2019 (x64) – DVD (English)

文件名:en_microsoft_hyper-v_server_2019_x64_dvd_1804cc67.iso
语言:English
SHA1:04B40E7E2FD14C964086C214D6409795908F6887
发布日期:2018/10/03
文件大小:2.21 GB
磁力链接:en_microsoft_hyper-v_server_2019_x64_dvd_1804cc67.iso

Windows Server 2019 Essentials (x64) – DVD (English)

文件名:en_windows_server_2019_essentials_x64_dvd_70296902.iso
语言:English
SHA1:66706C2FC927066C90DF294E8B67D4A70E564986
发布日期:2018/10/03
文件大小:4.03 GB
磁力链接:en_windows_server_2019_essentials_x64_dvd_70296902.iso

Windows Server 2019 Language Pack (x64) – DVD (Multiple Languages)

文件名:mu_windows_server_2019_language_pack_x64_dvd_679192ff.iso
SHA1:21E3695D86D67F49C7237F2CBDB8B2B42B24D06D
文件大小:2.64GB
发布时间:2018-10-03
磁力链接:mu_windows_server_2019_language_pack_x64_dvd_679192ff.iso
百度网盘: https://pan.baidu.com/s/1lzErXBBN5kYp1rNe2z2-EA 密码: bcme

Operating system edition KMS Client Setup Key
Windows Server 2019 Datacenter
WMDGN-G9PQG-XVVXX-R3X43-63DFG

Windows Server 2019 Standard
N69G4-B89J2-4G8F4-WWYCC-J464C

Windows Server 2019 Essentials
WVDHN-86M7X-466P6-VHXV7-YY726

Windows Server 2019 release 官网ISO下载地址:

Standard & Datacenter (Should be able to convert to RTM)

Chinese (Simplified) 简体中文版:

https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVER_EVAL_X64FRE_ZH-CN.ISO

Chinese (Traditional) 繁体中文版:

https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVER_EVAL_X64FRE_ZH-TW.ISO

English (US) 英文版:

https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVER_EVAL_X64FRE_EN-US.ISO

Essentials (Equals the RTM)

Chinese (Simplified) 简体中文版:

https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVERESSENTIALS_OEM_X64FRE_ZH-CN.ISO

Chinese (Traditional) 繁体中文版:

https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVERESSENTIALS_OEM_X64FRE_ZH-TW.ISO

English (US) 英文版:

https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVERESSENTIALS_OEM_X64FRE_EN-US.ISO

Hyper-V RTM

Chinese (Simplified) 简体中文版:

https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVERHYPERCORE_OEM_X64FRE_ZH-CN.ISO

Chinese (Traditional) 繁体中文版:

https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVERHYPERCORE_OEM_X64FRE_ZH-TW.ISO

English (US) 英文版:

https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVERHYPERCORE_OEM_X64FRE_EN-US.ISO

 

CENTOS7 DNS 代理设置

// This settings is only for forwarding DNS Server
options {
pid-file “/var/run/named/named.pid”;
//我这里设定 pid-file !这个时候,
//请特别留意该路径的所有人 ( owner )
//一定是要 named 这个人才行!
forward first;
//只允许 forward!
forwarders {
211.142.236.87;
114.114.114.114;
};
max-cache-size 8M;
};

CENTOS7.4 DHCP服务设置

option domain-name-servers 114.114.114.114;
ddns-update-style interim;
default-lease-time 3600;
max-lease-time 7200;
log-facility local7;

subnet 10.12.77.0 netmask 255.255.255.0 {
range 10.12.77.2 10.12.77.254;
option routers 10.12.77.1;
option domain-name-servers 180.76.76.76;
default-lease-time 7200;
max-lease-time 7200;
}

CENTOS7.4 squid网关代理设置

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_port 3128 transparent
cache_dir ufs /home/cache 1024 16 256
coredump_dir /var/spool/squid
refresh_pattern -i .css$ 3600 90% 48800 reload-into-ims
refresh_pattern -i .js$ 1440 90% 28800 reload-into-ims
refresh_pattern -i .html$ 1440 90% 14400 reload-into-ims
refresh_pattern -i .jpg$ 1440 90% 28800 ignore-reload
refresh_pattern -i .gif$ 1440 90% 28800 ignore-reload
refresh_pattern -i .swf$ 1440 90% 28800 ignore-reload
refresh_pattern -i .jpg$ 1440 90% 28800 ignore-reload
refresh_pattern -i .png$ 1440 90% 28800 ignore-reload
refresh_pattern -i .bmp$ 1440 90% 28800 ignore-reload
refresh_pattern -i .doc$ 1440 90% 28800 ignore-reload
refresh_pattern -i .ppt$ 1440 90% 28800 ignore-reload
refresh_pattern -i .xls$ 1440 90% 28800 ignore-reload
refresh_pattern -i .pdf$ 1440 90% 28800 ignore-reload
refresh_pattern -i .rar$ 1440 90% 28800 ignore-reload
refresh_pattern -i .zip$ 1440 90% 28800 ignore-reload
refresh_pattern -i .txt$ 1440 90% 28800 ignore-reload
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 14400
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 14400 90% 4880
cache_mem 1024 MB #设置squid可以使用的内存大小
cache_swap_low 90 #缓存内部对象的替换的衡量基线
cache_swap_high 95 #缓存内部对象替换的最高程度
maximum_object_size 32768 KB #设置squid磁盘缓存最大文件
maximum_object_size_in_memory 1024 KB #设置squid内存缓存最大文件
cache_replacement_policy lru #设置squid磁盘替换策略:最少近来使用(LRU),贪婪对偶大小次数(GDSF),和动态衰老最少经常使用(LFUDA)
memory_replacement_policy lru #设置squid内存替换策略:最少近来使用(LRU),贪婪对偶大小次数(GDSF),和动态衰老最少经常使用(LFUDA)
acl QUERY urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgi
acl denyssl urlpath_regex -i ^https:\\
access_log /home/cache/access.log squid
cache_log /home/cache/cache.log
cache_store_log /home/cache/store.log
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024
dns_nameservers 180.76.76.76 8.8.8.8
cache_effective_user squid squid
acl allow_lan src 10.12.77.0/24
#acl badurl url_regex “/usr/local/squid/sexurl.txt”
acl all src all
http_access allow allow_lan
http_access allow all
visible_hostname siyuan

你好,我的朋友

您访问的是我博客的第一篇文章。不知道写些什么,只能发表类似的文章作为纪念。

以前搞过很多站点,都因为访问量太小,或者技术不够熟练,被黑了许多。

这次希望不要这样了。

我只想在这里展示学习经验与工作成果,或许能够帮到您。

请您不要再攻击我的站点了。OK ?