Archive for March, 2007

Lilo: system na /dev/hda, dodatkowy dysk z innym linuxem na /dev/hdc

Sunday, March 18th, 2007

Post z dnia: 15/02/2007

Chcemy wgrac lilo na /dev/hdc zeby startowal jako /dev/hda…
( to jest MEMO dla mnie bo ciagle z tego korzystam a ciagle zapominam ):


# This file must be used from a system
# running off /dev/hdc
boot = /dev/hdc # overwrite MBR of hdc
disk = /dev/hdc # tell how hdc will look like:
bios = 0x80 # the bios will see it as first drive
delay = 0
vga = 0

image = /boot/vmlinux # this is on /dev/hdc1
root = /dev/hda1 # but at boot it will be hda1
label = Linux
read-only

Na podstawie HOWTO

Linux storage

Sunday, March 18th, 2007

Post z dnia: 14/02/2007

Enterprise Linux Storage Project

Solaris10 deadman timer!

Sunday, March 18th, 2007

Post z dnia: 10/02/2007

cat >> /etc/system << EOF
set snooping=1
# 2s
set snoop_interval=200000
EOF

Testy wypadly pomyslnie ;]

Opensolaris anti LKM infection

Sunday, March 18th, 2007

Post z dnia: 05/02/2007

Tak sobie myslalem ze majac podpisane przez SUNa moduly jadra mozna zmodyfikowac samo jadro odpowiednio tak aby nie dalo sie zaladowac niepodpisanych modulow, tylko ze:

  • /dev/kmem jest otworem nadal
  • root@opensol:/kernel/fs# elfsign verify tmpfs
    elfsign: verification of tmpfs passed.
    root@opensol:/kernel/fs# cp tmpfs tmpfs.new
    root@opensol:/kernel/fs# dd if=/dev/urandom of=bleh bs=1k count=1
    1+0 records in
    1+0 records out
    root@opensol:/kernel/fs# cat bleh >> tmpfs.new
    root@opensol:/kernel/fs# elfsign verify tmpfs.new
    elfsign: verification of tmpfs.new passed.

Czyli moge sobie dopisac co chce i tak lipa, nawet gdyby trzymac sume MD5 w jadrze poprawnych modulow(?) to i tak punkt pierwszy ( /dev/kmem ) jest slaboscia systemu – oczywiscie da sie go zlikwidowac.

Zupki chinskie

Sunday, March 18th, 2007

Post z dnia: 27/01/2007

Uwielbiam zupki chinskie/ekspresowe z makaronem {Vifon, Amino, itd} bo… zawsze mi sie kojarza z ASG ;]

Oracle tkprof

Sunday, March 18th, 2007

Post z dnia: 14/01/2007
Tkprof czyli bawie sie w optymalizacje zapytan w Oraclu w ramach przygotowan do kola z baz danych…

Zwlaszcza fajne jest:
exec sys.dbms_system.set_sql_trace_in_session(<ID_Sesji>, <Jej_serial_num>, true);

[Open]Solaris sendfile() cache

Sunday, March 18th, 2007

Post z dnia: 05/01/2007

http://src.opensolaris.org/source/xref/zfs-crypto/gate/usr/src/uts/common/fs/sockfs/socksyscalls.c


/*
* Sendfile is implemented through two schemes,
* direct I/O or by caching in the filesystem page
* cache. We cache the input file by default and
* use direct I/O only if sendfile_max_size is set
* appropriately as explained below. Note that this
* logic is consistent with other filesystems where
* caching is turned on by default unless explicitly
* turned off by using the DIRECTIO ioctl.
*
* We choose a slightly different scheme here. One can
* turn off caching by setting sendfile_max_size to 0.
* One can also enable caching of files
* <= sendfile_max_size by setting sendfile_max_size
* to an appropriate value. By default sendfile_max_size
* is set to the maximum value so
* that all files are cached. In future, we may provide
* better interfaces for caching the file.
[..]


root@opensol:~# uname -a; isainfo -kv
SunOS opensol 5.11 snv_46 i86pc i386 i86pc
64-bit amd64 kernel modules

root@opensol:~# mdb -k
Loading modules: [ unix krtld genunix specfs dtrace cpu.AuthenticAMD.15 uppc pcplusmp ufs ip sctp usba lofs zfs random crypto nfs cpc ptm ]

> sendfile_max_size::dump
\/ 1 2 3 4 5 6 7 8 9 a b c d e f v123456789abcdef
ffffffffc0034ed0: ffffffff ffffff7f 00000000 00000000 ................

W sendfile_init() sendfile_max_size jest inicjowane na MAXOFFSET_T mozna to zmieniac przez mdb -kw

Mozna tez sobie poczytac jak ( i kiedy ) wykorzystywane sa pule watkow w implementacji sendfile(). W wielkim skrocie: np. w sytuacji: wolny dysk vs szybka siec.

evolve() || die()

Sunday, March 18th, 2007

Post z dnia: 01/01/2007 && 02/01/2007

Zapoznaje sie z:

  • Oracle RMAN – disaster recovery, czyli jak podniesc instancje np po “rm -rf /u03″, jeszcze tylko sie gubie z controlfiles i PFILE.
  • BEA WebLogic Server – trzeba bedzie napisac jakies HelloWorld korzystajce z ConnectionPooli serwera aplikacji. Wiec czeka mnie chyba JNDI + JDBC… kiedys.
  • AnyCast – eksperyment na labie Ciscowym, dwa serwery DNS – ospfd na serwerach DNS – dziala. Rzeklbym ze RADIUSa tez by sie tak dalo “zhighavabilitowac” :) W produkcji kwestia wylaczania rozglaszania w przypadku braku odpowiedzi na DNS query…

Niestety to tyle bo niedlugo zaswieci sie czerwona lampka z napisem SESJA czyli System Eliminacji Studentow Jest Aktywny…

Tuesday, March 13th, 2007

Post z dnia: 28/12/2006

Pierwsze skojarzenie do slowa “elf” ?

Format plikow wykonywalnych … ( zostalo mi po zabawach z infekcjami ELFow z phracka )

Do slowa “cos” ? y=A*cos(2*Pi*f+fi). Pytanie: czy jestem chory i nienormalny ( ktos do mnie na GG napisal “cos” – w sensie jakiejs rzeczy a mi sie skojarzylo … )

Ciekawostka/OpenSolaris o (nie)cachowaniu pewnych requestow IO w kernelu:

/usr/src/uts/common/syscall/rw.c ( syscalle read(),write() i pochodne ):


54 #define COPYOUT_MAX_CACHE (1<<17) /* 128K */
55
56 size_t copyout_max_cached = COPYOUT_MAX_CACHE; /* global so it's patchable */

71 /*
72 * Native system call
73 */
74 ssize_t
75 read(int fdes, void *cbuf, size_t count)
166 /*
167 * Only use bypass caches when the count is large enough
168 */
169 if (bcount <= copyout_max_cached)
170    auio.uio_extflg = UIO_COPY_CACHED;
171 else
172    auio.uio_extflg = UIO_COPY_DEFAULT;

Identycznie jest dla write(). Z jakiegos *.h #define’y:


/*
* uio_extflg: extended flags
*
* NOTE: This flag will be used in uiomove to determine
* if non-temporal access, ie, access bypassing caches,
* should be used. Filesystems that don't initialize this
* field could experience suboptimal performance due to
* the random data the field contains.
*/

/* no special options to copy */
#define UIO_COPY_DEFAULT 0x0000

/* copy should not bypass caches */
#define UIO_COPY_CACHED 0x0001

Ja Anonimowy Vielce Aloholik… = JAVA

Tuesday, March 13th, 2007

Post z dnia: 24/12/2006

chyba zaczne pic konkretniej – wlasnie stworzylem cos takiego:

<List <List <List <Integer>>>>

( do “przepychania” przez SwingWorkera danych na potrzeby process() i publish() kilku list list integerow… )

nieudany domowe proby ataku na Oracle…

Tuesday, March 13th, 2007

Post z dnia: 23/12/2006:

vnull@vn1> create or replace synonym sym1 for sym2;

vnull@vn1> create or replace synonym sym2 for sym1;

vnull@vn1> select * from sym1;

ORA-01775: looping chain of synonyms (DBD ERROR: error possibly near <*> indicator at char 14 in ‘select * from <*>sym1′)

Kombinacje typu symA( VIEW ) -> symB ( SYNONYM ) -> symC ( SYNONYM ) -> symA … tez sie niepowiodly.

… a SQL injection w PL/SQL dziala tylko w wypadku sklejania(konkatenacji) stringu do zapytania.

Ponadto popadlem (bardzo) w naukoholizmo-pracocholizm. Enjoy! :/

ida swieta…

Tuesday, March 13th, 2007

Post z dnia: 22/12/2006

… czas obludy, pozogi i demagogii nadchodzi. Pragne rowniez poinformowac wszystkich ze pozostawie wszelkie zyczenia – przeslane droga elektroniczna – bez odpowiedzi.

zmuszanie Oracle XE expdp ( DataPump ) do dzialania…

Tuesday, March 13th, 2007

Post z dnia: 15/12/2006

mimo CREATE OR REPLACE DIRECTORY + odpowiednich grantow dla siebie ( user/schema : vnull ) dalej mi DataPump nie ruszyl:

oracle@xeno:~$ expdp vnull/BLEBLEBLE@XE schemas=vnull directory=expdp1_dir dumpfile=vnull.dmp logfile=expdpVNULL.log
[..]
Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
ORA-39006: internal error
ORA-39213: Metadata processing is not available

Rozwiazaniem niby ma byc:
Connect AS SYSDBA and execute dbms_metadata_util.load_stylesheets to reload the stylesheets.
Tylko ze podczas odpalania tej procedury okazalo sie ze moja Oracle XE nie ma tych stylesheetow. Jako ze mam na rowni z XE zainstalowane Oracle Enterprise Edition to nie bylo problemow z:
oracle@xeno:~$ cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/
oracle@xeno:~/app/oracle/product/10.2.0/server/rdbms$ ls
admin audit demo install jlib label.info log mesg public
oracle@xeno:~/app/oracle/product/10.2.0/server/rdbms$ ln -s /u01/product/10.2.0/db_1/rdbms/xml .
oracle@xeno:~/app/oracle/product/10.2.0/server/rdbms$ ls -al| grep -i xml
lrwxrwxrwx 1 oracle oinstall 34 Dec 15 15:33 xml -> /u01/product/10.2.0/db_1/rdbms/xml
oracle@xeno:~/app/oracle/product/10.2.0/server/rdbms$ sqlplus / as sysdba

[..]

SQL> execute dbms_metadata_util.load_stylesheets;

PL/SQL procedure successfully completed.
oracle@xeno:~/app/oracle/product/10.2.0/server/rdbms$ expdp vnull/BLEBLEBLE@XE schemas=vnull directory=expdp1_dir dumpfile=vnull.dmp logfile=expdpVNULL.log

[..]

Dump file set for VNULL.SYS_EXPORT_SCHEMA_01 is:

/u01/expdp1/vnull.dmp

Job “VNULL”.”SYS_EXPORT_SCHEMA_01″ successfully completed at 15:35:01

Prawie jak RAID10 na Linuxie ale softwarowo

Tuesday, March 13th, 2007

Post z dnia: 07/12/2006

…czyli gotujemy 4xSATA w paczkach po 2 jako md1 i md2 jako RAID1(2x RAID1), zakladamy na tym LVMa i robimy Logical Volume ze stripem ( opcje lvcreate: -i oraz -I ).

Trzeba pamietac o md0 (==RAID1) dla /boot poza LVMem na jakichs 2 pierwszych dyskach, tak samo odnosnie RAID1 dla swapa (potencjalnie md3, albo md1 — umiejscawiajac go na poczatku dysku w teorii przyznajemy mu szybsze regiony dysku).

A teraz po ludzku: to dziala ;)

[srv05-test:/]# mdadm –manage /dev/md2 –fail /dev/sdc1

i wolumen vg01 oparty o striping /dev/md2 i /dev/md3 biega dalej, /dev/sdc1 nalezy do /dev/md2 (RAID1)

WAZNE1: standardowo softRAID Linuxowy/mdadm tworzy chunki o wielkosci 64kB(!).

WAZNE2(wygooglowane): stride dla mkfs(ext2/ext3) to jest chunk-size z mdadm(def 64kB) podzielone przez wielkosc systemu plikow (obecnie prawie wszedzie chyba juz 4kB przez wzglad na rozmiar dyskow).

?

Tuesday, March 13th, 2007

Post z dnia:  31/10/2006

/me jest mizantropiczne.

BTW: nie ma to jak targetting SPAMu: Hott youung amateeur teenagerss hardd bangged by doogs.