자 보통 솔라리스에서는 2G이상의 파일은 생성할 수 없다고 알고 있나요?
이는 정말일까? 사실 이부분도 system performance의 한 종류다.
 
만약 이런 사실이 정말이라면 솔라리스는 개떡 같은 시스템일 수 있다.
왜냐? 대형 서비스를 하는 곳에서 운영하는 DBM의 경우 하나의 파일이
2G의 용량을 훌쩍 넘길 수 있기 때문이다.
 
[root@/www] # df -h
Filesystem             size   used  avail capacity  Mounted on
/dev/dsk/c0d0s0        6.4G   3.3G   3.0G    53%    /
/proc                    0K     0K     0K     0%    /proc
mnttab                   0K     0K     0K     0%    /etc/mnttab
fd                       0K     0K     0K     0%    /dev/fd
swap                  1022M   156K  1022M     1%    /var/run
swap                  1022M    16K  1022M     1%    /tmp
/dev/dsk/c0d1s0        3.9G   302M   3.6G     8%    /www
/dev/dsk/c0d0s7        480M   2.8M   430M     1%    /export/home
[root@/www] #
 
현재 내 파일 시스템의 영역이다. 아마도 글을 올린 다음.. 칸이 엉망으로
망가질 것이다. 그러나 잘 살펴보도록 하자.
 
우리는 정말 2G 이상의 파일은 만들 수 없는지 확인하기 위해 딱 2G 이상
용량의 파일을 구현해보자. 그런데 이리저리 파일 시스템을 살펴서 처리해보자
자 잘 살펴보니 /dev/dsk/c0d0s0 의 root (/)파일 시스템의 사용한 공간이 3.3G
이다. 앗 그러고 보니 /dev/dsk/c0d1s0 의 /www 파일 시스템의 경우 3.6G
의 남은 용량을 보니 이것을 테스트해보면 딱이겠다.
 
[root@/] # pwd
/
[root@/] # ls
TT_DB       devices     lib         platform    usr
bin         etc         lost+found  proc        var
boot        export      mnt         root        vol
cdrom       home        net         sbin        www
dev         kernel      opt         tmp         xfn
[root@/] # tar cvf /www/www.tar TT_DB devices lib platform usr bin etc var
> boot root vol sbin kernel opt xfn
..
..
(상당히 오래걸렸다.)
 
자 파일이 생성된 곳을 찾아가서 파일 용량을 확인해보자.
 
[root@/] # cd www/
[root@/www] # du -h www.tar
 3.3G   www.tar
[root@/www] #
 
분명히 3.3G의 파일이 하나 만들어졌다. 이로 보아 솔라리스에서는 하나의 파일
이 가질 수 있는 용량은 정해진 것은 아닌 것이다.
 
시스템의 설정을 살펴보자.
 
[root@/] # ulimit -a
core file size (blocks)     unlimited
data seg size (kbytes)      unlimited
file size (blocks)          unlimited
open files                  256
pipe size (512 bytes)       10
stack size (kbytes)         8480
cpu time (seconds)          unlimited
max user processes          1925
virtual memory (kbytes)     unlimited
[root@/] #
 
자 잘살펴본다면 뭔가 보일 것이다.
 
file size (blocks)          unlimited
이부분이다.
 
man ulimit 명령어를 사용해보면 최대 파일 블럭 지정은 -f 이다.
 
솔라리스에서 하나의 블럭은 512 byte를 가지므로 파일 생성시 최대 파일 용량을
1 mega byte로 지정하려면 최대 블럭을 2048로 지정하면 될것이다.
 
[root@/] # ulimit -f 2048
[root@/] # ulimit -a
core file size (blocks)     unlimited
data seg size (kbytes)      unlimited
file size (blocks)          2048
open files                  256
pipe size (512 bytes)       10
stack size (kbytes)         8480
cpu time (seconds)          unlimited
max user processes          1925
virtual memory (kbytes)     unlimited
[root@/] #
 
자 몇가지 명령어를 사용해서 파일을 생성해 보라. 분명히 1 M 이상의 파일은 생
성할 수 없을 것이다.
 
ulimit 명령어를 사용해서 여러가지 조작을 해서 설정해서 테스트해보는 것도 하
나의 방법일 것이다. ulimit를 살펴보면 file size 및 다른 설정도 많이 있다.
 
팁..
시스템 V 이상의 버전에서 하나의 프로세서가 파일을 생성할 시, 몇가지 시스템
을 불러온다. 우선 write 시스템을 호출하여 쓰기 모드로 들어가며, 이때 ulimit
시스템도 불러와 시스템 상태를 살펴본다. 당연히 cmask 시스템도 적용시켜봐서
이 파일을 내가 건들어도 퍼미션에 문제가 없는지 살피기도 한다. 열거해 놓은
이러한 작업 뿐 아니라, 무수히 많은 작업이 이루어진다. 그래서 대표적인 것만
말해 놓았다. ^^! 솔라리스를 처음 설치해 놓으면 ulimit 에 파일 쓰기에 대한
제한을 걸어 놓지 않는다. 그러나 시스템 관리자에 의해서 ulimit 시스템에 제
동을 걸어 놓을 수 있다. 가끔 게시판에 어느 용량 이상의 파일은 생성되지 않
아요..하는 물음이 나올 수는 있으나,  특정 파일 시스템 특징으로 인해서 2G 이
상의 파일을 생성할 수 없는 경우를 제외하고는 최근의 시스템은 대부분 2G 이상
의 파일 용량을 허용하고 있다. (fat32 시스템에 2G 이상의 파일을 생성해보라.
분명히 실패한다. -ㅁ-; 그래서 vmware에서 2G 이상의 하드 파일을 만들 때 스필
트(split 분할모드)모드가 존재하는 것이다. 우리는 이것을 꼭 참고하자.
다음 안건은 acct 냐햐햐햐햐

출처 : http://blog.naver.com/canard

/ 디렉토리에서 rm * 명령을 실행하면 시스템이 맛가게되는대 이는

아래의 두 심볼릭 link 파일(/bin, /lib)이 삭제되기 때문입니다.

lrwxrwxrwx 1 root root 9 2월 3일 09:55 lib ->  /usr/lib
lrwxrwxrwx 1 root root 9 2월 3일 09:55 bin -> /usr/bin

원본파일은 /usr 디렉토리에 존재하기때문에

아래 순서대로 링크를 재 생성하여 주도록 합니다.



<복구절차>

1) cdrom single boot
   

   stop + a

   ok> boot cdrom -s


2) 부팅디스크의 / 디렉토리 마운트


  #mount /dev/dsk/c0t0d0s0  /a

  #cd /a


3) symbolic link 생성

  #ln -s ./usr/lib lib

  #ln -s ./usr/bin bin

  #cd

  #umount  /a
 

 #reboot

 

1)   자기 시스템 상태의 확인

인스톨 관련 정보를 표시하는 코맨드 CDE와 OpenWindows 환경에서 메뉴로 부터 "Workstation 정보"를 선택하여 GUI상에서 시스템에 관한 기본적인 정보를 확인한다.
/usr/openwin/bin/wainfo 코맨드를 실행 하는 것도 가능하다.

==>  소프트웨어의 설정에 대하여 개별적인 정보를 얻고자 하는 경우에
         다음과 같은 코맨드가 이용 가능하다.

 

   * HOST 이름
# uname -n    : whiteeye
# hostname    : whiteeye
# showrev     : Hostname: whiteeye
# sysdef      : whiteeye node name (NODE)

 

   * OS의 종류, 버젼
# uname -s    : SunOS
# uname -r    : 5.6
# uname -v    : Generic
# showrev     : Release:  5.6
# Kernel version:   SunOS 5.6 Generic August 1998
# sysdef      : 5.6 release (REL)
# SunOS system name (SYS)
# Generic version (VER)

 

   * 파티션 구성
# df -k       : Filesystem kbytes used avail capacity Mounted on
        /dev/dsk/c0t3d0s0 38383 19392 15161 56% /
        ...........

 

   * 패치 정보
# showrev -p  : Patch:  101331-03 Obsoletes:  Packages:  SUNWcsu.7
        11.5.0,REV=2.0.18,PATCH=35
        ........

 

   * 로드 되어 있는 모듈
# sysdef      : * Loadable Objects
        strmod/bufmod
        strmod/connld
       ......

 

   * 소프트웨어 패키지 구성
# pkginfo     : system      AXILvplr       Axil platform links
        system      AXILvplu       Axil usr/platform links
        ..............

 

2)   네트워크에 관한 정보는 다음과 같은 코맨드가 이용 가능하다.

   * IP Address, NetMask, Broadcast Address
# ifconfig -a : inet 129.158.153.162 netmask ffffff00 broadcast 120.158.153.255
 

 

3)   하드웨어의 구성 요소에 관한 상세한 정보는 다음과 같은 코맨드가 이용 가능하다.

   * 아키텍처 타입
# prtconf     : System Configuration: Sun Microsystems sun4m
# arch -k     : sun4m

 

   * Workstation 모델
# prtconf  : SUNW,SPARCstation-5
# prtconf -vp : ......
model: 'SUNW,501-2572'
clock-frequency: 0510ff40
name: 'SUNW,SPARCstation-5'
# dmesg       : root nexus = SUNW,SPARCstation-5

 

   * CPU 타입
# dmesg       : cpu0:  SUNW,UltraSPARC (upaid 0 impl 0x10 ver
0x22 clock 143 MHz)
# prtconf -vp :    ....
sparc-version: 00000008
mask_rev: 00000020
device_type: 'cpu'
name: 'FMI,MB86904'
# ok cpu-info : VPU FMI,MB86904 Rev. 2.0: 85Mhz
(EEPROM 코맨드)

 

   * 메모리 용량
# dmesg       : mem = 32768k (0x2000000)
# prtconf     : Memory size: 32 Megabytes

 

   * 시리얼 포트 디바이스
# dmesg       : zs0 at obio0: obio 0x1000000 sparc ipl 12
zs0 is
/obio/zs@0,1000000
# sysdef      : zs, instance #0
zs, instance #1

 

   * 디스크
# dmesg       : sd3 at esp0: target 3 lun 0
sd3 is
/iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/
esp@5,8800000/sd@3,0
# sysdef      : sd, instance #2 (driver not attached)
sd, instance #3

 

   * 프레임 버퍼
# prtconf     : cgsix, instance #0
# prtconf -F  :
/iommu@f,e0000000/sbus@f,e0001000/cgsix@2,0
# dmesg       : cgsix0 at sbus0: SNus slot 3 00 SBus level 5 sparc ipl 9
cgsix0 is
/iommu@0,10000000/sbus@0,10001000/cgsix@3,0
cgsix0: screen 1152x900, single buffered, 1M mappable, rev 11
# sysdef      : cgsix, instance #0

 


4)   Root 디바이스와 Swap 디바이스 등의 정보는 /etc/vfstab 화일을 확인 하거나 다음의 코맨드의 이용이 가능 하다.

   * Root 디바이스
# dmesg       : root on
/iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/
esp@5,8800000/sd@3,0:a fstype ufs

 

   * Swap 디바이스
# dmesg       : dump on /dev/dsk/c0t3d0s1 size 131532K
# swap -l     : swapfile dev swaplo blocks free
/dev/dsk/c0t3d0s1 32,25 8 263080 209312
# sysdef      : swapfile dev swaplo blocks free
/dev/dsk/c0t3d0s1 32,25 8 263080 209312

 

   * 시스템 보드 구성의 정보
# prtdiag(Sun4d, Sun4u 아키텍처만 가능)

PS. # /usr/platform/sun4u/sbin/prtdiag -v | more 플랫폼 정보를 한번에 확인


출처가 분명하지 않은 퍼옴입니다.

How to Mount or Unmount a USB Mass Storage Device Without vold Running

  1. See How to Prepare to Use USB Mass Storage Devices Without vold Running for information on disabling vold.

  2. Become superuser.

  3. (Optional) Identify the diskette device.

    For example:


    # cd /dev/rdsk
    # devfsadm -C
    # ls -l c*0 | grep usb
    lrwxrwxrwx   1 root  root   55 Mar  5 10:35 c2t0d0s0 ->
    ../../devices/pci@1f,0/usb@c,3/storage@3/disk@0,0:a,raw

    In this example, the diskette device is c2t0d0s0.

  4. Select one of the following to mount or unmount a USB mass storage device.

    1. Mount a USB mass storage device.


      # mount [ -F fstype ] block-device mount-point
      

      This example shows how to mount a device with a UFS file system.


      # mount /dev/dsk/c1t0d0s2 /mnt
      

      This example shows how to mount a device with a PCFS file system.


      # mount -F pcfs /dev/dsk/c1t0d0s0:c /mnt
      

      This example shows how to mount a CD with a read-only HSFS file system.


      # mount -F hsfs -o ro /dev/dsk/c1t0d0s2 /mnt
      
    2. Unmount a USB mass storage device.

      First, be sure no one is using the file system on the device.

      For example:


      # fuser -c -u /mnt
      # umount /mnt
      
    3. Eject the device.


      # eject /dev/[r]dsk/cntndnsn
      

      For example:


      # eject /dev/rdsk/c1t0d0s2 
      


참조 : http://docs.sun.com/app/docs/doc/817-3814/6mjcp0qrg?a=view

AutoFS 
-----------------------------------------------------

 autofs 란 ?


클라이언트가 서버에서 공유한 자원을 사용하려고 할 때
mount 란 명령을 사용하지 않아도 자동적으로 mount 하는 방법

NFS에 의해 공유된 파일시스템은 automount를 이용하여 마운트 할 수 있다.

----------------------------------------------------------------------------

# /etc/init.d/autofs [start or stop]

# cd /net/hostA/usr/share/man

hostA의 /usr/share/man을 hostB의 /net디렉토리에 mount.

root가 아닌 일반 user에서도 접근 가능. 자동 mount 제공.


1) Autofs Map

autofs를 관리하는 파일과 디렉토리들. mount list를 /etc/vfstab이 아닌 autofs의 map 파   일에 정의된 내용 참조.

[Map 유형]

master : autofs file system 설정에 사용되는 다른 map(direct, indirect)들이 list 포함.

direct : 완전 경로명을 가진 mount point list들로 client상의 mount point를 정확히 지시.

indirect : 상대경로명을 표현하는 mount point list. client상의 mount point 설정을 위한             상대 경로 이용.


- Master Map : /etc/auto_master 파일

# cat /etc/auto_master

  /net          -hosts               -nosuid,nobrowse

  /-            auto_direct

  /home        auto_home           -nobrowse

  /xfn          -xfn

[mount_point] [map_name]          [map_option]

  map_name : direct or indirect map의 이름으로 마운트하는 정보를 위한 지시어들.

<special map>

-hosts : NFS Server에 의해 공유된 모든 리소스에 접근.

          /net/host_name 아래로 마운트 접근.

-xfn : 네임서비스를 통해 사용 가능한 리소스에 접근.

        /xfn 아래로 mount.

<direct map entry>

/etc/auto_direct에 정의되어 있는 파일의 완전경로명을 automount 프로그램에게 알려주는   pointer.

<indirect map entry>

/net, /home, /xfn은 indirect map을 위한 mount point 정의.

/etc/auto_master로부터 mount point 초기 경로 읽음.


- Direct Map : /etc/auto_direct 파일

# cat /etc/auto_direct

  /export/home/man  -ro,soft  hostA:/usr/share/man

(nfs로 공유된 hostA의 /usr/share/man을 hostB[Client]의 /export/home/man으로 mount    한다. 읽기 전용. nfs가 응답 안 할시 error 리턴.)


- Indirect Map : /etc/auto_home 파일

# cat /etc/auto_home

  (사용자가 어느 시스템에 있던 네트워크를 통해 홈디렉토리를 일관성있게 보이도록 함.)

  +auto_home (automounter에게 NIS or NIS+ database를 보도록 지시.)

  vian  host5:/export/home/vian

  clare host6:/export/home/clare


- automount 명령어

# automount

  -t duration : automount된 시스템의 유지 시간. default=600초

  -v : automount의 실행과정 보여줌.


2) AutoFS Management


- Direct Map 설정

# vi /etc/auto_master

  /-   auto_direct   (direct map 추가)

# vi /etc/auto_direct    (파일 생성)

  /usr/share/man   -ro   hostA:/usr/share/man    (entry 추가)

# automount -v   (변경 사항 적용)


- Indirect Map 설정

# vi /etc/auto_master   (패치디렉토리와 map 추가)

  /service       auto_patch    (파일 생성)

# vi /etc/patch

  patch    hostA:/export/patch   (패치디렉토리와 서버 경로 추가)

# automount -v (변경 사항 적용)

출처 : Tong - forestcamp님의 [솔라리스]통

CDE환경으로 login시에 X-windows 화면이 멈추는 현상
----------------------------------------------------




CDE환경으로 login시에 초기화면(환영합니다)에서 모래시계만 보이며, 화면이 멈춤

서비스에 필요한 데몬등 시스템 운영에는 문제가 없으나, CDE화면이 작동되지 않음.


>2002년 1월 10일자 Recommended Patch도 설치했고,
/의 .dt 디렉토리 안의 모든 파일을 삭제했다 다시 Reboot,
dtconifg -e로 재설정 했으나, 문제는 해결되지 않음.




*******************************************************************



rpc 관련 파일들의 퍼미션을 확인.

cde가 뜰때 rpc.ttdbserverd란 데몬을 불러오는데 이 데몬을 못 불러 와서 cde가 뜨다가 만 경우가 있습니다..


참고로, rpc 파일은....
-----------------------

/usr/openwin/bin/
/etc/
/usr/sbin/rpc.bootparamd
/usr/sbin/rpc.nisd /usr/sbin/rpc.nisd_resolv
/usr/sbin/rpc.nispasswdd
/usr/sbin/rpc.rexd
/usr/include/rpc


입니다..........



다른 사이트에서 운영체제 버젼과 서버 기종을 확인후 덮어쓰기 해도 괞찮을듯....
시스템의 inode 사용률 확인하는 방법

# df -F ufs -o i

Filesystem               iused      ifree    %iused     Mounted on
/dev/dsk/c0d0s0      5328        89378   6%           /
     ↓                        ↓            ↓       ↓               ↓
파일시스템               사용된   사용가능  사용률    마운트 포인트
                                갯수       갯수

디스크 과다 사용자 찾아내기
디스크의 사용에 대한 정보는 quot 명령어를 이용해 알아 낼 수 있다.
quot 명령어는 각 파일 시스템에서의 각 사용자가 가지고 있는 전체 파일의
수와 디스크 블록의 수를 보여준다.
다음은 quot 명령어를 사용한 예이다.

[eslab:/etc]# quot -f /dev/sd0g
/dev/sd0g (/usr):
457851 3938 oracle
270296 17644 root
13326 618 bin
4580 59 ysoh
3439 140 yjy
752 21 uucp
496 36 jihoon
93 15 ljs
87 43 ycy
56 1 daemon
31 28 gebok
24 1 audit
12 8 jo
12 10 rma
11 10 giant

첫 번째 나오는 숫자가 사용중인 디스크 블록의 수를 나타낸 것이고 두 번째
숫자가 파일 수를 나타낸 것이다.
‘-f’ 옵션으로 파일 시스템을 지정하면 된다.
다음으로 du 명령어를 이용하면 디렉터리 구조에서의 디스크 사용에 대한 내
용을 요약해 보여준다. 다음은 명령어 사용의 예를 든 것이다.

[eslab:/etc]#du -s /usr/eslab/*
31 /usr/eslab/gebok
7900 /usr/eslab/giant
11 /usr/eslab/guyver
496 /usr/eslab/jihoon
14 /usr/eslab/jo
120 /usr/eslab/ljs
14 /usr/eslab/rma
1 /usr/eslab/sailor
21 /usr/eslab/webmaster
87 /usr/eslab/ycy
12316 /usr/eslab/yjy
4580 /usr/eslab/ysoh

위에서 나타난 숫자가 사용하는 디스크 블록의 수를 나타낸 것이다.
불행하게도 하나의 디스크 블록이 차지하는 Byte 수는 시스템마다 그리고 명
령어마다 다소 차이가 있다. 물론 주로 512, 1024, 2048 byte 중에 하나이긴 하
지만 관리자가 혼돈하기 쉬운 부분이다. 다음 표는 각 시스템마다의 한 블록
크기를 나타낸 것이다.

+ Recent posts