1 / 23

SUN Sparc Ultra10 Workstation 에 120G HDD 붙이기

SUN Sparc Ultra10 Workstation 에 120G HDD 붙이기. 2003 년 2 월 7 일 장혁준. 목차. SUN Ultra10 Workstation 개요 System Specification 시스템 구성 프로젝트 시스템 껍질 까기 시스템 내부 하드 디스크 연결하기 하드 디스크 설치 ( 전면부 ) 하드 디스크 설치 ( 후면부 ) 하드 디스크 케이블 연결 방식 하드 디스크 점퍼 세팅 (Including CDROM) PROM 레벨 수정사항 하드 디스크 인식 확인

fisseha
Download Presentation

SUN Sparc Ultra10 Workstation 에 120G HDD 붙이기

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SUN Sparc Ultra10 Workstation에 120G HDD 붙이기 2003년 2월 7일 장혁준

  2. 목차 • SUN Ultra10 Workstation 개요 • System Specification • 시스템 구성 프로젝트 • 시스템 껍질 까기 • 시스템 내부 • 하드 디스크 연결하기 • 하드 디스크 설치 (전면부) • 하드 디스크 설치 (후면부) • 하드 디스크 케이블 연결 방식 • 하드 디스크 점퍼 세팅 (Including CDROM) • PROM 레벨 수정사항 • 하드 디스크 인식 확인 • format 유틸리티를 이용한 Partition 작업 • 디스크 포맷 • 포맷 및 마운팅 • /etc/vfstab

  3. SUN Ultra10 Workstation 개요 • SUN Sparc Ultra 10 Workstation • Ultra10 시스템은 SUN Microsystem 사에서 1998년 출시한 저가형 UNIX 워크스테이션이다. 출시 당시에는 이전의 대부분 워크스테이션에 적용되던 고속이지만 고가인 SCSI 인터페이스를 버리고 일반적인 PC에서 사용되는 PCI 버스를 채용하여 중저가 UNIX 워크스테이션의 대중화를 꾀하였고 PC 워크스테이션 시장의 잠식을 시도하였으나 기업시장의 고급 사양 요구를 충족시키지 못하여 대부분의 이전 SUN 사용자들로부터 비난을 면치 못하였다. • 기본적인 시스템 사양은 한마디로 Ultra-Sparc 칩을 사용하는 PC라고 보면 딱 맞다. 하지만 고가용 플로팅 포인트 연산을 하는 RISC 프로세서 칩셋의 능력을 IDE방식의 하드 디스크가 대부분 잡아먹어 성능상의 저하는 아주 심각한 편이다. • SUN에서는 Ultra 10을 그래픽 워크스테이션으로 포커싱을 하였으나 MS Windows NT기반 워크스테이션의 성장과 PC하드웨어의 발전으로 인하여 훌륭한 64비트 기반의 그래픽 성능은 금방 시장에서 뒤쳐지게 되었다. 결국 2002년 8월 모델이 단종되었지만 그 이후 출시된 PCI 버스 기반 SUN 시스템들의 평판을 깎아 먹는 기반이 되었다.

  4. System Specification

  5. 시스템 구성 프로젝트 • 현재 부서에서 확보한 Ultra10 사양이 낮아 확장이 필요하게 되었다. • 하지만 실제 성능 분석 결과 새로운 시스템 도입이 더욱 현실적이라 판단되었고 Ultra10은 백업 및 테스트용 시스템으로 재활용하도록 구성을 바꾸었다. • 결과적으로 Ultra10의 IDE 인터페이스의 장점을 살려 일반 PC에서 사용하는 Segate 120G (8M buffer)하드를 추가하는 것으로만 결정 되었다. • 향후 Ultra10 관련 사용자 및 관리자의 편의를 위하여 시스템 관리 매뉴얼 확보 차원에서 이 문서를 작성한다. • (Maintenance를 하는 사람은 좋겠다, 이런 매뉴얼까지 만들어 주니…^_^)

  6. 시스템 껍질 까기 Ultra10은 실제 대만 업체인 Tatung에서 SUN OEM으로 제작했기에 이전에 나온 고급 SUN 워크스테이션들과 달리 PC에서나 사용되던 공용 및 저가 부품을 많이 쓰고 있다. 그래도 PC하고 다르게 보이려고 애쓴 흔적이 좀 보이긴 한다. (당연히 UltraSparc 칩 덕분에 다를 수 밖에 없지만…) 일단 껍질을 까기 위해서는 시스템을 끄고 꺼꾸로 뒤집어서 후면의 나사를 풀러야 한다. 그림에서와 같이 4개의 나사를 풀면 된다.

  7. 시스템 내부

  8. 하드 디스크 연결하기 • Ultra10은 EIDE 방식의 하드 디스크를 최대 2개까지만 장착 할 수 있다. 일반적인 PC에서는 CDROM포함 최대 4개까지 장치할 수 있지만, SUN에서 디스크ID 문제로 약간 고심한 흔적이 보인다. • PROM레벨에서는 하드가 최대 4개까지 인식은 가능하게 되어있어서 이후 확장에 대한 고려도 있었다고 사료된다. • 초기에 Ultra10에 추가 사양이던 9.1G 이상 용량의 하드가 지속적인 고속 기동으로 인해 발열량이 많이 발생해서 시스템이 다운되는 설계 클레임이 있었기에 99년 2월 이후부터 출시된 기종부터는 기본 하드가 파워 밑에 추가 하드 가이드에 설치 되어 있다. 또한 이전 버전 장비에 있던 5.25인치 슬롯용 3.5인치 하드 가이드도 친절하게 들어 있기도 하다. • UltraSparc 워크스테이션이나 서버에는 고급 기능인 온도 측정 기능이 들어있다. 시스템 박스 내부 온도가 비정상적으로 상승하면 CPU 및 기타 메모리 등 장비 보호 차원에서 자동으로 시스템을 끄는 기능이 Solaris 7부터 디폴트로 추가 되었으나 하도 클레임이 많이 걸려서(설계상 문제 또는 사용자 부주의 등) 바로 다음 버전부터 옵션 사항으로 바뀌었다. • 1999년 하반기부터 EIDE 하드디스크들의 고용량, 고속화 및 저가화가 가속화 되어 10GB의 하드가 더 이상 큰 용량이 아니게 되어 버렸다. 할 수 없이 SUN도 염가의 고용량 하드에 대한 지원을 할 수 밖에 없게 되었고 특히 OEM으로 생산되던 Ultra 하위 기종들에 대한 설계 수정은 불가피하였다. • 그러나 이와 더불어 PCI 버스의 저속 디스크 Access 문제를 PC에서는 UDMA등 여러 방식을 이용하여 해소되고 있었지만 UltraSparc 지원 칩셋의 호환성 문제로 인하여 64bit 체제임에도 불구하고 PCI 64 스펙 기준값에도 못 미치는 디스크 처리 성능을 가지고 있다. • 최근 출시되는 UltraSparc 시스템들은 이를 보완하고자 결국 다시 SCSI-PCI 브릿지를 이용한 버스를 채택하였고 조금이나마 PCI 버스의 병목 현상을 해소하고자 FC-AL 등을 적용하고 있다. • 두번째 하드는 CDROM 밑에 있는 5.25인치 가이드를 이용하여 설치하도록 하였다.

  9. 하드 디스크 설치 (전면부)

  10. 하드 디스크 설치 (후면부)

  11. 하드 디스크 케이블 연결 방식 • 일반적인 PC에서의 IDE하드 연결 방식과 달리 Ultra10은 다음의 2가지 방식만 지원한다. • 직렬로 연결할 경우 • 병렬로 연결할 경우

  12. 하드 디스크 점퍼 세팅 (Including CDROM) • EIDE 디스크가 워낙 느리기 때문에 (SCSI와 비교하여…) 연결 방식은 병렬로 하였다. • Disk0 : Segate 20.3 GB on Primary Channel (Boot Disk) • Disk1 : Segate 120.1 GB on Secondary Channel • 혹시 이후에라도 디스크 미러링이라도 필요로 하게 될까봐 이렇게 했다. ^_^ • 일반적인 EIDE 하드디스크 점퍼 세팅과 같으리라고 생각하면 오산이다. • 결국 점퍼 세팅 방법을 몰라 경우의 수를 따지느라 3시간을 허비했다. T_T • Disk 0 (Primary Channel) • 디스크의 점퍼를 cs(cable select)로 맞춘다. • Disk 1 (Secondary Channel) • 디스크의 점퍼를 역시 cs(cable select)로 맞춘다. • CDROM (Secondary Slave) • CDROM 뒤의 점퍼를 sl(slave)로 맞춘다. • 여기까지가 하드웨어 작업이다. 이제 뚜껑을 덮어도 된다.

  13. PROM 레벨 수정사항 • 문제는 이때부터 발생한다. 공장에서 Ultra10이 생산되어 나온 시점에 디폴트로 PC의 바이오스에 해당하는 PROM에 CDROM은 Secondary IDE의 마스터 디바이스로 지정되어 있다. • 현재 설치는 Secondary IDE의 Slave로 CDROM 점퍼를 바꾸었다. • PROM의 디바이스 이름 설정 값을 바꾸어야 했다. • 시스템을 조립한 다음 부팅을 한다. • Stop-A 버튼을 이용하여 PROM 모드로 들어간다. ok • 다음의 명령을 입력한다. ok nvalias cdrom /pci@1f,0/pci@1,1/ide@3/cdrom@3,0:f • 시스템을 재시작 한다. ok reset-all • 참조: • 만약 CDROM을 Primary Slave로 붙일 경우에는 다음의 명령을 이용한다. nvalias cdrom /pci@1f,0/pci@1,1/ide@3/cdrom@1,0:f

  14. 하드 디스크 인식 확인 • 시스템을 켜서 PROM레벨에서 하드 디스크가 제대로 달린 것을 확인한다. • SUN Logo가 나오기 전 모니터가 뜨면 사정없이 키보드의 Stop과 A 버튼을 누른다.  소위 OK 모드로 빠져 나온다. ok • 이전에 SCSI 장비였을 때 사용하던 probe-scsi명령과 유사하게 Ultra10에서는 다음 명령을 이용하여 IDE 장치를 확인한다. ok probe-ide Device 0 ( Primary Master ) ATA Model: ST320420A Device 1 ( Primary Slave ) Not Present Device 2 ( Secondary Master ) ATA Model: ST3120024A Device 3 ( Secondary Slave ) Removable ATAPI Model: CRD-8322B • 위와 같이 나오면 제대로 붙은 것이다.

  15. OS 장치 리셋 • SUN은 실제로 자체적인 PROM과 OS를 가지고 있으면서도 완전한 100%자동 Plug-and-Play를 지원하지 않는다. 그렇다고 안되는 것도 아니다. • 시스템이 재기동 된 후에 시스템 변경 사항을 자동으로 점검하도록 하기 위해 다음을 실행 한다. (root 로그인 또는 싱글 모드 로그인 후) # touch /reconfigure • 그리고 시스템을 재부팅 하면 PROM에서 인식된 장치가 자동으로 로딩 된다. • 시스템 재부팅이 싫으면 다음 명령을 실행한다. (재부팅 안함) # /usr/sbin/drvconfig # /usr/sbin/devlinks # /usr/sbin/disks # /usr/ucb/ucblinks • 아무런 메시지도 안 뿌리지만 PROM에서 인식된 정보가 디바이스 드라이버들과 장치 이름들이 자동으로 인식되어 링크되어 진다.

  16. format 유틸리티를 이용한 파티션 작업 • 유명한 UNIX의 format유틸리티를 사용하여 파티션을 나눈다. • 실제로 PC에서처럼 포맷을 하는게 아니라 파티션을 나누기만 한다. Fdisk와 같은 역할 # format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0t0d0 <ST320420A cyl 39533 alt 2 hd 16 sec 63> /pci@1f,0/pci@1,1/ide@3/dad@0,0 1. c0t2d0 <ST3120024A cyl 57459 alt 2 hd 16 sec 255> ext /pci@1f,0/pci@1,1/ide@3/dad@2,0 Specify disk (enter its number): 1 • 하드 디스크가 잘 붙은 것을 확인할 수 있다.

  17. partition을 나눈다. • Partition 유틸리티로 들어간다. format> partition PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk !<cmd> - execute <cmd>, then return quit partition> print • Print 명령을 통해 디스크의 슬라이스 정보를 본다.

  18. Partition을 나눈다.(계속) 변경 명령 modify partition> modify Select partitioning base: 0. Current partition table (original) 1. All Free Hog Choose base (enter number) [0]? 1 Part Tag Flag Cylinders Size Blocks 0 root wm 0 0 (0/0/0) 0 1 swap wu 0 0 (0/0/0) 0 2 backup wu 0 – 57458 111.79GB(57459/0/0) 234432720 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 usr wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 Do you wish to continue creating a new partition table based on above table[yes]? y Free Hog partition[6]? 7 Enter size of partition '0' [0b, 0c, 0.00mb, 0.00gb]: Enter size of partition '1' [0b, 0c, 0.00mb, 0.00gb]: Enter size of partition '3' [0b, 0c, 0.00mb, 0.00gb]: Enter size of partition '4' [0b, 0c, 0.00mb, 0.00gb]: Enter size of partition '5' [0b, 0c, 0.00mb, 0.00gb]: Enter size of partition '6' [0b, 0c, 0.00mb, 0.00gb]: Enter size of partition ‘7' [0b, 0c, 0.00mb, 0.00gb]: 57458c Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) 0 1 unassigned wm 0 0 (0/0/0) 0 2 backup wu 0 - 57458 111.79GB (57459/0/0) 234432720 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wu 0 - 57458 111.79GB (57459/0/0) 234432720 Okay to make this the current partition table[yes]? yes Enter table name (remember quotes): “ext" Ready to label disk, continue? y partition> q format> verify format> q # 1번을 선택하면 다음과 같이 미리 정의된 파티션 타이틑과 구성 테이블을 보여준다. (서비스 차원에서…^_^) 현재 디스크가 사용하고 있는 디스크와 다른 디스크 이기 때문에 root가 0인 것으로 보여 주는데 이때 당황해서 시스템을 재부팅 하거나 취소하지 않아도 된다. 여기서 다음 단계로 넘어가기 전에 한번 더 확인 하고 그때에도 프로그램이 종료하기 전까지 적용되지 않기 때문에 몇번을 다시 들어와도 된다. 2번째 디스크 슬라이스는 전체 디스크에 대한 백업 이미지 이므로 항상 전체 용량을 가진다. 여기서 7을 선택하는 이유는 전체 슬라이스가 백업을 포함한 7 개라는 의미이고 디폴트 값으로 [6]이 표시되는 이유는 백업을 제외한 슬라이스는 6 이라는 의미이다. 프로그램 버그처럼 보이고 항상 할 때마다 혼동되는 부분인데 이미 많은 UNIX 시스템에서 공통적으로 쓰이는 명령이라 고쳐 쓰기에는 이미 너무 많은 사람이 이 프로그램을 그냥 쓰고 있다. 3가지 방식으로 용량을 선택할 수 있다. 0b = 블록 개수 0c = 실린더 개수 0.00mb = 메가 바이트 0.00gb = 기가 바이트 자동으로 붙였던 태그가 사라지고 현재 구성을 다시 보여준다. 여기서 테이블 이름이라는 것이 실제로는 파티션 라벨과 유사한 내용이며 그냥 구분을 위한 내용으로 이후 다시 쓰이는 부분이 없으므로 아무 이름이나 써도 된다. 쓸 때는 꼭 따옴표를 붙여야 한다. 이름을 먼저 지정하고 그걸 적용하는 방식… Point of no return, verify 하고 종료하면 파티션 분할 정보가 저장 된다.

  19. 디스크 포맷 • Format명령을 가지고 실제로 디스크가 포맷까지 자동으로 됐으면 얼마나 좋겠습니까 만은… SUN 시스템들은 관리자 레벨에서 원격 접속을 통해 하드웨어 제어를 기반으로 하고 있기에 대부분 로우레벨 명령으로만 제어가 가능하게 되어 있다. • 물론 Solaris 8 이후 근래에 도입된 smc(Solaris Management Console)에는 파티션에서부터 레이드까지 GUI환경에서 자동으로 잡아주는 방식이 있지만, 대부분의 관리자가 아직도 커맨드 라인 옵션을 선호하는 편이다. (가장 빠르고 확실하기 때문에…) • 실제로 SUN Microsystem이 이전에 출시했던 Solstice Disk Suite이라는 자동화 디스크 관리 도구가 있었는데, 사용상의 편리보다는 관리 도구 자체가 잡아먹는 시스템 자원량이 많고, X-Window 환경의 그래픽 인터페이스의 불안정과 과다한 네트워크 사용, 그리고 상대적으로 비싼 가격으로 인해 대부분의 관리자들이 기피하는 소프트웨어 툴이었다. • SMC에 들어있는 디스크 관리 도구들은 원래 Solstice Management Suite에 들어 있던 RAID 관리 도구를 자바 버전으로 바꾸면서 상대적으로 많이 쓰이는 기능 위주로 콘솔에서만 쓰도록 자바(!)로 재구성한 프로그램이다. 하지만 아직도 이전 Solstice 시절의 버그가 종종 발견되어 자주 애용하기는 힘들고 나중에 좀더 안정화 된 이후에 쓰는 것이 좋을 듯 싶다. • 개인적으로 볼 때 프로그램 자체는 디스크 관리 기능을 충실히 구현 한 것으로 보인다. 현재 여기에 기술한 모든 명령을 위자드 형태로 제공하여 사용자 편의를 고려하는 것으로 볼 때, 게으른 관리자들을 위해서는 좋은 도구가 되리라 보인다.

  20. 포맷 및 마운팅 # newfs /dev/rdsk/c0t2d0s7 • 파티션된 디스크에 inode와 슈퍼블록을 생성하면서 포맷을 한다. • Raw 디스크 디바이스를 포맷하는 것이라 /dev/rdsk 를 사용한다. • 화면 가득히 슈퍼블록 번호가 뿌려진다… # mount /dev/dsk/c0t2d0s7 /ccstg • 포맷이 되어 파일 시스템이 준비되면 마운트를 한다. • 이때는 이미 준비된 디스크이므로 /dev/dsk를 사용한다. • 마운트 포인트는 비어있는 디렉토리로 미리 만들어 놔야 한다. • 마운트 되는 디렉토리에 파일이나 내용이 있을 경우, 파일시스템이 umount되기 전까지 그 파일들에는 접근을 하지 못한다. (아예 볼 수가 없다…) # vi /etc/vfstab • 마운팅한 파일 시스템이 지속적으로 시스템 시작마다 마운트 되게 하려면 /etc/vfstab에 등록 시켜야 한다. • 또한 mountall 명령으로 다같이 마운트 시킬 때도 사용된다.

  21. /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes - fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t0d0s1 - - swap - no - /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes - swap - /tmp tmpfs - yes - /dev/dsk/c0t2d0s7 /dev/rdsk/c0t2d0s7 /ccstg ufs 3 yes - • Fsck PassOption •  부팅시에 fsck 안함 • 0  non-UFS 파일 시스템만 체크 • 1  vfstab 파일에 나타난 순서대로 체크함 • 1>  vfstab 순서대로 진행하는 동안 별도의 • 디스크로 병렬 체크 가능

  22. Appendix 1 • 부팅 가능하게 만들기 #installboot /usr/platform/`uname –i`/lib/fs/ufs/bootblk /dev/rdsk/c0t2d0s7 • 준비된 시스템 별 부트 블록 내용을 디스크에 복사하고 부트 블록을 생성한다. • PROM에서 boot-device 라는 항목으로 부팅 순서가 결정된다. • Default는 disk net 으로 되어있다. 또한 devalias로 disk를 보면 scsi나 pci버스에서 첫번째 디스크로 지정되어 있는데 이를 추가한 디스크나 아니면 다른 디스크로 변경해 주면 된다. ok printenv boot-device value default boot-device disk net disk net ok setenv boot-device disk1 Boot-device = disk1

  23. Appendix 2 • 시스템 응급복구 및 root 패스워드 복구 • 종종 디스크나 시스템이 과열도 다운되면 꼴사나운 모습을 봐야 한다. 대부분 허둥대며 난리를 피우겠지만 시스템은 끝내 올라오기를 거부하는 경우가 많다. • 이러한 꼴을 보기 싫거나 사내에서 인정 받는 엔지니어가 되고 싶으면 항상 백업을 생활화 하도록 한다. • 결국 이러한 사태가 벌어져서 손해 보는 것은 시스템 사용자와 시스템 Admin이다. 대부분의 상위 레벨의 IT Manager들은 이에 대해 알고 싶어하지도 않고, 관심도 없다. • 그나마 다행인 것은 IDE계열의 하드는 대부분 재부팅 하면 자동으로 fsck가 구동되어 오류 수정을 하도록 되어 있고 최신 OS인 Solaris 8 이상에서는 대부분 자동 복구를 한다. • Root 패스워드를 까먹는 것은 아주 챙피한 일이다. 하지만 꼭 이런 일은 발생한다. • 다음의 절차로 root 패스워드를 복구한다. • 준비물: 손가락, Solaris OS Installation CD 1 ok boot cdrom -s # mount /dev/dsk/c0t3d0s0 /a # cd /a/etc # TERM=vt100 # export TERM # vi passwd(Remove invalid entry) # cd / # umount /a # init 6 (또는reboot -- -r)

More Related