Kamis, 04 April 2013

Manajemen FileSystem

Partisi harddisk adalah pembagian harddisk menjadi beberapa bagian.
Parition Table adalah suatu tabel yang menyimpan pembagian dari harddisk.
Jenis-jenis Partisi:
- Primary, max 4, Umumnya digunakan untuk instalasi sistem terutama pada
  sistem Windows.
- Extended, max 1, merupakan bagian dari primary. Digunakan sebagai wadah untuk
  partisi logical.
- Logical, digunakan untuk menyimpan data atau sistem tetapi harus dibuat di dalam
  partisi extended.

Jumlah partisi harddisk di Linux:
- /dev/sda --> sampai 15
- /dev/hda --> sampai 63

Jenis-jenis tabel partisi:
- MBR (msdos) --> Batasnya hingga 2 TB
- GPT (GID Partition Table) --> Batasnya hingga 9.4 ZB (9.4 x 10^21 bytes)

Jenis-jenis File System
- FAT 32 --> max file 4 GB, max size 32 GB.
- NTFS --> max file & size 16 EB, quota, kompresi, enkripsi > di Windows
- ext2 --> max file 2 TB, max size 32 TB.
- ext3 --> max file 2 TB, max size 32 TB, journaling file system.
  Journaling File System, apabila terjadi penulisan data maka penulisan tidak
  langsung ke harddisk, tetapi ke meta data, apabila sistem mati tiba-tiba maka
  meta data dan data di harddisk akan dibandingkan.
- ext4 --> max file 16 TB, max size 1 EB.
- Reiser --> max file 8 TB, max size 16 TB, memiliki kecepatan penulisan data yang
  lebih cepat dibanding file system ext2, ext3 dan ext4.
- swap --> tidak digunakan untuk data tapi untuk virtual memory.

Aplikasi untuk partisi harddisk:
- fdisk
- parted (GParted, QParted)
- cfdisk

Penggunakan FDISK:
- Memulai partisi harddisk:
  # fdisk /dev/sda
- Melihat menu help di fdisk:

Membentuk File System (Format):
# mkfs.ntfs /dev/sda1    --> NTFS
# mkfs.vfat /dev/sda5    --> FAT32
# mkfs.ext4 /dev/sda6      --> ext4
# mkswap /dev/sda7       --> swap

Memberikan Label pada partisi:
# e2label /dev/sda6 SYSTEM   --> hanya untuk ext2, ext3 dan ext4
# mkswap /dev/sda7 --label SWAP --> pemberian label pada saat format swap

Menggunakan file system (Mount)
Mount --> memetakan suatu device storage ke suatu direktori di sistem.
# mkdir -p /media/sistem
# mount /dev/sda6 /media/sistem
Melepas mapping mount (unmount)
# umount /dev/sda6             
atau
# umount /media/sistem

Untuk melihat device yang dimount menggunakan perintah:
# df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda5       40872196  3627328  35196868  10% /
udev             1554168        4   1554164   1% /dev
tmpfs             624576      932    623644   1% /run
none                5120        0      5120   0% /run/lock
none             1561432      400   1561032   1% /run/shm
/dev/sda2      102399996  2581448  99818548   3% /media/repo
/dev/sda8      102244100  5929204  91194896   7% /media/virtual
/dev/sda7       51098476 16069536  32468940  34% /home
/dev/sdc6      123973224 38048280  79717432  33% /media/7333979a-6a1d-4ef3-90cc-61a8b205a4ee
/dev/sdc5      102398276 88685424  13712852  87% /media/671F04667F55E6CD
/dev/sdc1       61438972 14717832  46721140  24% /media/18E4457EE4455EDE

# mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda2 on /media/repo type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)
/dev/sda8 on /media/virtual type ext4 (rw)
/dev/sda7 on /home type ext4 (rw)
gvfs-fuse-daemon on /home/toto/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=toto)
/dev/sdc6 on /media/7333979a-6a1d-4ef3-90cc-61a8b205a4ee type ext4 (rw,nosuid,nodev,uhelper=udisks)
/dev/sdc5 on /media/671F04667F55E6CD type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdc1 on /media/18E4457EE4455EDE type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

Opsi mounting:
ext3,ext4:
- rw --> partisi dapat dibaca dan ditulis
- ro --> read only
- nosuid --> Permission suid tidak berlaku. SUID --> Permission untuk menjalankan
  suatu command seakan-akan sebagai user atau group pemilik.
  $ /sbin/fdisk -l
  $ su -
  # chmod 4755 /sbin/fdisk
  # exit
  $ fdisk -l
  $ ls -l /sbin/fdisk
  -rwsr-xr-x 1 root root ???? ?????? fdisk
- noexec --> Permission execute(x) tidak berlaku.
- nodev --> File device tidak berlaku pada filesystem tersebut.

cdrom/dvd:
- auto --> Pada saat device ada akan dimounting.

vfat (FAT32), filesystem FAT32 di Linux akan dimiliki oleh root dan permissionnya
adalah 755. Permission yang dimiliki adalah untuk keseluruhan file di filesystem
tersebut.
- uid, untuk mengatur kepemilikan semua file menjadi milik user dengan User ID
  tertentu.
- gid, untuk mengatur kepemilikan semua file menjadi milik group dengan Group ID
  tertentu.
- umask, untuk mengatur permission semua file pada partisi tersebut.
          FILE       DIR
          666        777              
  umask = 022        022
  ----------------------
  perm  = 644        755

ntfs-3g, semua file di filesystem dapat ditulis oleh siapa saja. Apabila suatu
partisi digunakan oleh Windows kemudian sistem di Hibernate atau dimatikan tiba-tiba
maka partisi tidak bisa dimount.
- force, untuk mounting partisi yang di hibernate. Ada resiko kerusakan data.

cifs/smbfs, digunakan untuk mounting share file di Windows.
- username, digunakan u/ memberikan username koneksi ke share file.
- password, digunakan u/ memberikan password koneksi ke share file.
- domain, digunakan u/ memberikan domain yang digunakan untuk koneksi ke share file.

Contoh Penggunaan:
# mkdir /media/windata
# mount -t vfat /dev/sda5 /media/windata -o uid=0,umask=000
  Keterangan:
  - uid=0, menjadi milik root
  - umask=000, semua orang dapat menulis ke filesystem.

# mkdir /media/linux
# mount /dev/sda6 /media/linux -o noexec,nodev,nosuid

Menggunakan swap
# free
# swapon /dev/sda7
# free
# swapoff /dev/sda7   --> dengan asumsi swap tidak dipakai

Mengelola Mounting Sistem secara Permanen atau berjalan pada saat booting
-------------------------------------------------------------------------
File konfigurasi mounting berada pada /etc/fstab.
# vim /etc/fstab
  -------------------------------------------------
  # device     mount_point      file_system     opsi     dump fsck
  /dev/sda5     /media/windata     vfat     uid=0,umask=000  0 0
  /dev/sda6     /media/linux    ext4     nosuid,noexec,nodev 0 0  
  /dev/sda7     swap         swap     defaults     0 0
  --------------------------------------------------
# umount /media/windata
# umount /media/linux
# swapoff /dev/sda7

Untuk ujicoba menggunakan
# mount -a
# swapon -a

Quota Disk
==========
Digunakan untuk membatasi besar data atau jumlah file yang dimiliki
oleh user. Quota adalah fungsi dari ext2, ext3 dan ext4.

Batasnya :
> soft limit : batas bawah, batas masih bisa dilewati tetapi grace
  time akan mulai berjalan. Grace Time adalah waktu tunggu sebelum
  user tersebut tidak bisa login lagi.
> hard limit : batas atas, dimana tidak bisa dilewati. Bila hard limit
  tidak ada maka soft limit menjadi hard limit.

Konfigurasi quota untuk suatu partisi harddisk
# vim /etc/fstab
  ---------------------------
  /dev/sda7      /home     ext4     usrquota,grpquota,defaults 1 2
  ---------------------------

# init 1
# mount -o remount /home           --> mount ulang partisi yang diquota
# quotacheck -cavugm --> membuat sekaligus mengecek konfigurasi quota
# init 5
# repquota -a --> untuk mengecek konfigurasi quota dari setiap user

Mengaktifkan quota
------------------
# quotaon -a

Pengaturan quota
----------------
# setquota -u toto 100000 120000 0 0 -a
  -u toto --> quota diberikan untuk file-file milik user toto
  100000 -> 100000 KB atau 100 MB --> soft limit dari besar data
  120000 -> 120000 KB atau 120 MB --> hard limit dari besar data
  0  -> soft limit dari jumlah file
  0  -> hard limit dari jumlah file

# edquota -u toto
  ----------------------------------
  Disk quotas for user toto (uid 500):
  Filesystem   blocks  soft       hard    inodes soft     hard
  /dev/sda9    10000   100000    120000   113     0         0
  -----------------------------------

Mengatur grace time
-------------------
Grace time adalah hitung mundur ketika soft limit telah terlewati.
# edquota -t

0 komentar:

Posting Komentar