Erinevus lehekülje "Kasutaja:Jj" redaktsioonide vahel
| 17. rida: | 17. rida: | ||
Kirjutada tõrvajasse apache seadistamise probleemidest FreeBSD opsüsteemis. | Kirjutada tõrvajasse apache seadistamise probleemidest FreeBSD opsüsteemis. | ||
| + | |||
| + | --- | ||
| + | |||
| + | Jälle noSQL rindelt teateid, kuid seekord pisut teise suunitlusega. | ||
| + | |||
| + | GlusterFS alternatiivina võiks äkki kaaluda Facebooki arendatud Cassandrat: | ||
| + | http://cassandra.apache.org/ | ||
| + | |||
| + | Niipalju kui mina aru sain, siis see on neil (ja Diggil ja Twitteril ja Redditil jne) kasutusel, et talletada terabaite andmeid klastrisse, nii et see on kättesaadav igast nodest ja ka kirjutatav igast nodest (lihtsalt proxytakse, kuhu vaja), samas on selle peamine eesmärk skaleeruvus (O(1)) ja huvitaval kombel, tehnoloogilistel põhjustel on kirjutamine isegi kaks suurusjärku kiirem kui lugemine, mis võrreldes nt MySQL-iga on ka suurusjärgu võrra kiirem. | ||
| + | |||
| + | Cassandrale on pea kõigis levinuimates keeltes kõrgtaseme-teegid ja läbi Thrifti veel tosinale keelele madala-taseme teegid. | ||
| + | |||
| + | Tuunida saab CAP (Consistency, Availability, Partition tolerance) osas korraga kahe väärtuse nõuet, nt konsistentsuse vajaduse puhul nõuda, et 1/2 + 1 vajalikest koopiatest oleks alati kirjutatud, enne kui operatsioon lõpetab jne. | ||
| + | |||
| + | Kirjelduse järgi tundub, et Cassandra sobiks väga hästi klastris kasutamiseks, eriti juhul, kui igast nodest on vaja kogu andmehulgale kiiresti ligi pääseda. | ||
| + | |||
| + | Ainuke miinus on, et see tähendaks failidesse kirjutamise asemel pisukest progemistööd rakenduse arendajale. Esmane guugeldamine ei andnud ka tulemust, et keegi näiteks FUSE peal Cassandra failisüsteemiga valmis oleks saanud (mõnel oli vaid idee). | ||
| + | |||
| + | PS. kui failisüsteem oleks olemas, siis võiks isegi mõelda, et KVM masinate sisemised kettad niiviisi kokku ühendada ja moodustada terviklik storage masinate endi kõhus. Kui masinaid on piisavalt palju (nt 4-5) peaks selline süsteem isegi 1-2 hosti kokkuvarisemise üle elama. | ||
| + | |||
| + | --- | ||
Väga huvitav andmete salvestamise meetod on "dokumendiadmebaas", mille keyword guugeldamiseks on noSQL. | Väga huvitav andmete salvestamise meetod on "dokumendiadmebaas", mille keyword guugeldamiseks on noSQL. | ||
Redaktsioon: 10. detsember 2010, kell 13:15
Personaalne jj arendusnurk ehk sodinurk kuutõrvajas
Mõte! Kuutõrvaja keskendunud liiga internetile
NB Mitte puududa
Must materjal
- jj sodinurk testimiseks ja kiireteks ideedeks
- pppoe kiire
- Haldustarkvara
- terminal server FreeBSD näitel
- atacontrol
- apache ssl täiendust vajav
- vinum gvinum ja geom
- rrdool snmp ja süsteemse info alusel graafikute joonistamine
Kirjutada tõrvajasse apache seadistamise probleemidest FreeBSD opsüsteemis.
---
Jälle noSQL rindelt teateid, kuid seekord pisut teise suunitlusega.
GlusterFS alternatiivina võiks äkki kaaluda Facebooki arendatud Cassandrat: http://cassandra.apache.org/
Niipalju kui mina aru sain, siis see on neil (ja Diggil ja Twitteril ja Redditil jne) kasutusel, et talletada terabaite andmeid klastrisse, nii et see on kättesaadav igast nodest ja ka kirjutatav igast nodest (lihtsalt proxytakse, kuhu vaja), samas on selle peamine eesmärk skaleeruvus (O(1)) ja huvitaval kombel, tehnoloogilistel põhjustel on kirjutamine isegi kaks suurusjärku kiirem kui lugemine, mis võrreldes nt MySQL-iga on ka suurusjärgu võrra kiirem.
Cassandrale on pea kõigis levinuimates keeltes kõrgtaseme-teegid ja läbi Thrifti veel tosinale keelele madala-taseme teegid.
Tuunida saab CAP (Consistency, Availability, Partition tolerance) osas korraga kahe väärtuse nõuet, nt konsistentsuse vajaduse puhul nõuda, et 1/2 + 1 vajalikest koopiatest oleks alati kirjutatud, enne kui operatsioon lõpetab jne.
Kirjelduse järgi tundub, et Cassandra sobiks väga hästi klastris kasutamiseks, eriti juhul, kui igast nodest on vaja kogu andmehulgale kiiresti ligi pääseda.
Ainuke miinus on, et see tähendaks failidesse kirjutamise asemel pisukest progemistööd rakenduse arendajale. Esmane guugeldamine ei andnud ka tulemust, et keegi näiteks FUSE peal Cassandra failisüsteemiga valmis oleks saanud (mõnel oli vaid idee).
PS. kui failisüsteem oleks olemas, siis võiks isegi mõelda, et KVM masinate sisemised kettad niiviisi kokku ühendada ja moodustada terviklik storage masinate endi kõhus. Kui masinaid on piisavalt palju (nt 4-5) peaks selline süsteem isegi 1-2 hosti kokkuvarisemise üle elama.
---
Väga huvitav andmete salvestamise meetod on "dokumendiadmebaas", mille keyword guugeldamiseks on noSQL.
Tegemist on andmebaasidega, mis ei ole relatsioonilised, st objektide vahel ei ole otseselt seoseid, igaüks moodustab ise tervikliku dokumendi koos kõikide väärtustega. Andmebaas ei ole tihti normaalkujul (vahel vähendatakse normaalsust meelega - denormaliseerimine), objektid vastavad enamasti üks-ühele mingisuguse andmestruktuuriga programmeerimiskeeles - sellest dokument.
Näiteks sellistest: Redis, Memcached (kuigi see on rohkem cache, kui admebaas), MongoDB jt. Neist viimane on väga huvitav, kuna on iseenesest JavaScripti objektide hoidla (JSON), millega suhtlemine käib JavaScripti kaudu (loomulikult on sellele teegid kõikidesse peamistesse progekeeltesse ka olemas). Kiirustestides on ta ikka tohutult kiirem kui MySQL ja isegi Memcachedil sammub kannul või mõnes testis ka kiirem, olles samas ikkagi täisväärtuslik, indekseeritud andmebaas.
Kõige silmatorkavam erinevus relatsioonilise baasiga on selles, et kahel ühes "kollektsioonis" oleval objektil ei pruugi mitte ükski atribuut kokku langeda ja atrbuutide väärtused võivad olla mh ka massiivid.
Kes hakkab asja vastu lähemat huvi tundma, siis esimene segadust tekitav koht nende dokumentatsioonis oli minu jaoks Map/Reduce selgitus. See on MongoDB töövahend, mis keedab mune, peseb autot ja toob lapse lasteaiast ära. Kahjuks dokumentatsiooni järgi läks mul kaua aega, enne kui pihta sain, kuidas seda kasutada.
Map/Reduce kasutusvaldkonnaks on näiteks artiklite kogumi pealt kõigi tag-ide kogumi genereerimine (arvestades, et tagid on ilmselt artikli objekti sees olev massiiv).
Rubysti jaoks on alternatiivne selgitus: Map/Reduce on sama, mis Rubys on map/inject - map funktsioon käib üle kõigi leitud objektide ja tagastab neist igaühekohta mingi alternatiivse tulemuse; reduce funktioon käbi üle kõikide tagastatud tulemuste ja arvutab mingisuguse uue väärtuse nende pealt, kasutades selleks kaasa veetavat vahemuutujat (nagu inject).
Üks koht, kus seda katsetada annaks, olekski just see nn kesksüsteem, mis haldaks mingit tsentraalset objekti (asutus, isik, domeen, teenus vmt) ja koondaks linke ning andmeid meie teistest süsteemidest, mida me ükskord arutasime. Sel puhul oleks just abi dokumendibaasi paindlikkusest, kuna objektid on erineva sisuga.
MongoDB ja Rails: http://www.mongodb.org/display/DOCS/MongoDB+Data+Modeling+and+Rails
Probleem spamassassini uuendamisega
_die can t locate mail spamassassin compiledregexps body_0 pm
# sa-compile # sa-update -D
Dec 6 20:44:57 muheleja amavis[14891]: extra modules loaded after daemonizing/chrooting: Mail/SpamAssassin/CompiledRegexps/body_0.pm, Mail/SpamAssassin/Plugin/FreeMail.pm
568 mergemaster -p 569 mergemaster -a
http://forum.nginx.org/read.php?23,41517 openssl freebsd baasi ülekirjutamine
http://www.cyberls.com/forum/Thread-HOWTO-ProFTPD-Antivirus-using-CLAMAV
http://www.ibm.com/developerworks/linux/library/l-linux-kernel/index.html?S_TACT=105AGX03&S_CMP=ART
http://www.ibm.com/developerworks/linux/library/l-linux-filesystem/index.html S_TACT=105AGX03&S_CMP=ART
http://selectparks.net/~julian/levelhead/install.html
# freshclam ClamAV update process started at Mon Nov 29 16:06:25 2010 main.cld is up to date (version: 53, sigs: 846214, f-level: 53, builder: sven) daily.cld is up to date (version: 12333, sigs: 6732, f-level: 54, builder: ccordes) bytecode.cld is up to date (version: 93, sigs: 16, f-level: 54, builder: edwin)
Kataloogi kontrollimiseks
# clamscan -ri /kataloog
Vsftp conf
listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES ftpd_banner=FTP.ZOO.TARTU.EE chroot_local_user=YES file_open_mode=0755 ascii_download_enable=YES ascii_upload_enable=YES syslog_enable=YES ssl_enable=YES rsa_cert_file=/etc/vsftpd/vsftpd.pem force_local_data_ssl=NO force_local_logins_ssl=NO pasv_min_port=12400 pasv_max_port=12500
Proftpd teeb mugavaks tema modulaarne ehitus mis võimaldab koostada üsna keerukaid ftp teenuseid.
Seadistus mis autentib pami abil süsteemsete kasutajate vastu oleks
ServerName "ftp.zoo.tartu.ee" ServerType standalone DefaultServer on RequireValidShell off AuthPAM on AuthPAMConfig ftp Port 21 PassivePorts 49152 65535 #punktiga failidele ListOptions "-a" # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask 022 MaxInstances 30 # Set the user and group under which the server will run. User ftp Group ftp DebugLevel 5 DefaultRoot ~ # Autendi nii mysql-ist kui ka systeemitabelitest AuthOrder mod_auth_unix.c # Normally, we want files to be overwriteable. <Directory /> AllowOverwrite on </Directory>
Mysqlist autentimiseks tuleb lisada AuthOrder reale lisada mod_auth_unix.c kõrvale mod_sql.c
AuthOrder mod_sql.c mod_auth_unix.c
Ja seadistada mysqliga suhtlemise kasutaja ning parool
# MySQL conf SQLAuthTypes Crypt SQLAuthenticate users SQLConnectInfo andmebaas@db.zoo.tartu.ee kasutaja parool SQLDefaultUID 20000 SQLDefaultGID 20000 SQLMinUserUID 20000 SQLMinUserGID 20000 SQLUserInfo users username passwd uid gid ftpdir homedir
Viimase reaga on defineeritud kasutajaid sisaldava tabeli struktuur.
SSL toe lisamiseks
<IfDefine TLS> TLSEngineon TLSRequiredon TLSRSACertificateFile /etc/vsftpd/proftp.pem TLSRSACertificateKeyFile /etc/vsftpd/proftp.pem TLSCipherSuiteALL:!ADH:!DES TLSOptionsNoCertRequest TLSVerifyClientoff TLSRenegotiatectrl 3600 data 512000 required off timeout 33 00 #TLSLog/var/log/proftpd/tls.log <IfModule mod_tls_shmcache.c> TLSSessionCacheshm:/file=/var/run/proftpd/sesscache </IfModule> </IfDefine>
Proftp failide kontroll läbi ClamAv viirusetõrje.
Paigalda Clamav op-süsteemi töövahenditega. Paigalda samamoodi Proftp server koos mod_clamav toega
clamd.conf tuleb teha järgnevad muudatused, ehk tuleb lahti kommenteerida rida kus öeldakse, et ta töötaks deemonina ja kuulaks 3310 porti
# TCP port address. # Default: no TCPSocket 3310
proftpd.conf tuleks lisada <global></blobal> markerite vahele lõpuossa järgnev blokk
<IfModule mod_clamav.c> ClamAV on ClamServer localhost ClamPort 3310 ClamMaxSize 5 Mb </IfModule>
5 Mb tähendab mis on maksimaalne failisuurus millest üle enam faile ei kontrollita.
Mõlemad teenused restartida.
Testimiseks võib üritada ühte Eicar signatuuri sisaldavat faili üles laadida http://www.eicar.org/anti_virus_test_file.htm
# ftp zoo.tartu.ee Connected to zoo.tartu.ee. 220 ProFTPD 1.3.3c Server (zoo.tartu.ee) [::ffff:192.168.1.22] Name (zoo.tartu.ee:ants): ants 331 Password required for ants Password: 230 User ants logged in Remote system type is UNIX. Using binary mode to transfer files. ftp> put test local: test remote: test 200 PORT command successful 150 Opening BINARY mode data connection for test 550 Virus Detected and Removed: Eicar-Test-Signature 71 bytes sent in 0.00 secs (745.5 kB/s)