• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            elva

            Solaris系統(tǒng)管理

            dd命令復(fù)制硬盤


             1)確保原盤和目的盤幾何特性相同
            2)成為超級用戶
            3)在用主盤的系統(tǒng)中輸入touch /reconfigure,有主盤的系統(tǒng)需要/reconfigure文件,以便在重新啟動時發(fā)現(xiàn)復(fù)制盤
            4)輸入init 0關(guān)閉系統(tǒng)
            5)將復(fù)制盤連接到系統(tǒng)并開機
            6)在OK提示符下輸入boot
            7)輸入dd if=/dev/dsk/device-name of=/dev/dsk/device-name bs=blocksize (輸入文件if是主盤設(shè)備,輸入文件of是復(fù)制盤設(shè)備)
            8)輸入fsck /dev/rdsk/device-name (檢測新的文件系統(tǒng))
            9)輸入mount /dev/rdsk/device-name /mnt 加載復(fù)制盤的root文件系統(tǒng)。
            10)編輯復(fù)制盤上的/etc/vfstab文件,指向正確的設(shè)備名。
            11)輸入umount/mnt ,卸載復(fù)制盤的root文件系統(tǒng)。
            12)輸入init 0關(guān)閉系統(tǒng)。
            13)輸入boot diskN -s以單用戶模式引導(dǎo)復(fù)制盤。
            14)輸入sys-uconfig恢復(fù)配置復(fù)制盤,在該盤配置恢復(fù)后系統(tǒng)關(guān)閉。
            15)輸入boot diskN 引導(dǎo)復(fù)制盤
            16)提供相關(guān)的系統(tǒng)信息。(HOSTNAME TIMEZONE  IP...)
            17)系統(tǒng)完成,即作為超級用戶登錄驗證系統(tǒng)信息。

            例:
            #dd if=/dev/dsk/c0t0d0s2 of=/dev/dsk/c0t1d0s2 bs=100k
            #fsck /dev/rdsk/c0t1d0s2
            #mount /dev/rdsk/c0t1d0s2 /mnt
            #cd /mnt/etc
            #vi /etc/vfstab
            #cd /;umount /mnt
            #init 0
            OK boot disk2 -s
            #sys-unconfig
            OK boot disk2 -s


            =================================================================================
            Solaris網(wǎng)絡(luò)配置

            主機名為sampdt,ip 10.1.1.1

            1 /etc/hosts 主機名解析
            #
            # Internet host table
            #
            127.0.0.1       localhost       
            10.1.1.1  sampdt  loghost
            10.1.1.46  test.china.org
            10.1.1.3   sidemo
            2 /etc/hostmane.hme0 網(wǎng)絡(luò)接口名
            sampdt
            3 /etc/netmasks 網(wǎng)絡(luò)掩碼
            4 /etc/inetd.conf 服務(wù)項目定義
            5 /etc/defaultroot 設(shè)定路由
            6 /etc/nsswitch.files 設(shè)定名字搜索順序
            7 /etc/defaultrouter 缺省路由

            做為DNS服務(wù)器
            建立/etc/named.boot
            named.boot格式:
            directory /etc/namedb
            cache   .       named.root
            primary         0.0.127.in-addr.arpa            named.local
            primary domain name file

            遠(yuǎn)程訪問命令
            1. rlogin 在遠(yuǎn)程機上注冊
            格式 : rlogin hostname -l username
            2. rsh 在遠(yuǎn)程機上執(zhí)行一個程序
            格式 : rsh hostname -l username order
            3. rcp 在遠(yuǎn)程系統(tǒng)之間拷貝文件
            格式 : rsh host:filename filename 

            訪問鑒別相關(guān)文件 
            當(dāng)rlogin,rsh,rcp命令時,有幾個文件對網(wǎng)絡(luò)安全是很重要的.
            /etc/passwd
            如遠(yuǎn)程系統(tǒng)的口令文件有本地用戶的登記項,否則必須使用 [-l] 選項以指明不同用戶,可支持root用戶。
            $home/.rhosts
            rlogin,rsh,rcp首先檢查用戶主目錄下的.rhosts文件,如主機及用戶被列在文件中,則此用戶為可信任主機,不需口令即可登錄,如遠(yuǎn)程鑒
            別失敗,則正常詢問口令
            /etc/hosts.equiv
            作用與.rhosts 文件類似,文件中列出用戶對于本機為可信任用戶,不需口令即可登錄(除超級用戶)
             
            網(wǎng)絡(luò)監(jiān)控
            1.rusers 標(biāo)識網(wǎng)絡(luò)上注冊用戶
            格式:rusers -la
            2.rup 標(biāo)識網(wǎng)絡(luò)上主機
            命令格式:rup 
            3.ping 檢測主機連接狀況
            命令格式:ping [hostname|IP address]
            4.spray ping命令格式為低層協(xié)議,spray使用高層協(xié)議
            命令格式:spray hostname
            5.netstat 顯示與網(wǎng)絡(luò)有關(guān)的各種數(shù)據(jù)結(jié)構(gòu)
            命令格式:netstat -[r| i]n 
            -r :顯示路由信息 -i :顯示接口信息
            6.ifconfig 顯示網(wǎng)絡(luò)接口
            命令格式:ifconfig -a
            其中 lo0: 本機自回饋接口 le0: 10M接口 hme0:100M接口 hme1:第二100M接口
            7.netstat 顯示與網(wǎng)絡(luò)有關(guān)的各種數(shù)據(jù)結(jié)構(gòu)
            命令格式:netstat -[r| i]n  -r :顯示路由信息
            -i :顯示接口信息
            8.route 路由設(shè)置
            命令格式:route [add|delete] 設(shè)置網(wǎng)絡(luò)路由
            defaultrouter <-缺省靜態(tài)路由
            9.arp 反響解析
            命令格式:arp -[a|s]

            ================================================================================

            Solaris使用技巧

            在從WINDOWS傳到UNIX在每行的結(jié)尾可能會出現(xiàn)^M
            解決方法:
            1、用ASCII模式重傳。
            2、用vi 中的替換
               %s/^M$//  <- ^ ctrl+v   M ctrl+m
               
               
            文件名為 -filename 如何去刪除
            rm -- "-filename"
                 

            fd      -       /dev/fd fd      -       no      -
            /proc   -       /proc   proc    -       no      -
            /dev/dsk/c0t3d0s0       /dev/rdsk/c0t3d0s0      /       ufs     1       no      -
            /dev/dsk/c0t0d0s3       /dev/rdsk/c0t0d0s3      /usr    ufs     1       no      -
            /dev/dsk/c0t0d0s0       /dev/rdsk/c0t0d0s0      /download  ufs     2       yes     -
            /dev/dsk/c0t3d0s1       /dev/rdsk/c0t3d0s1      /export ufs     2       yes     -
            #/dev/dsk/c0t0d0s1       -       -       swap    -       no      -
            #swap    -       /tmp    tmpfs   -       yes     -

             

            ls的特殊用法:
            %ls -R // 顯示所有文件包括子目錄
            %ls * // 同上
            %ls -t // 以時間排序來顯示
            下面的語句可以幫你計算有多少個文件和多少個目錄..
            # ls -l * |grep "^-"|wc -l // to count files 
            # ls -l * |grep "^d"|wc -l // to count dir 
            還可以將以上的語句變成script或做個alias
            只列子目錄的方法:
            ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(Linux)
            ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)


            Grep命令用法
            %grep user1 /etc/passwd
            %grep -i user1 /etc/passwd //不管大小寫 


            Alias用法
            %alias find1 find . -name '\!*' -print // alias a new find 


            Find命令用法
            %find . ctime 0 -print //搜尋今天修改過的所有文件
            %find . -name '*.bak' -exec rm {}\ //搜尋加刪除
            %find . \(-name *.txt -ctime 7\) -print //搜尋7天前修改過的txt文件
            利用Find命令改變所有權(quán),想要改變當(dāng)前目錄下所有文件的所有權(quán),可以這樣:
            find . -exec chown OWNER.[GROUP] {} \; (Solaris)
            find . -exec chown -R OWNER.[GROUP] {} \; (Linux) 


            Cut命令用法
            %cut -f field_list file //以逗號或空格來間隔
            %cut -d: -f5,7-9 mydata //以冒號來間隔
            %cut -s -c35-40 mydata //以列數(shù)來間隔-s 不包括頭部注釋

            列出除了某些類型文件的當(dāng)前目錄所有文件:
            使用Ksh,用ls !(*.Z)可以顯示所有文件,除了*.Z文件。
            這個命令在一個目錄里有許多種類型的文件的時候很有用。 


            改變unix提示符:
            %PS1=’newprompt’
            %export PS1
            還可以這么做:
            %set prompt='user1[\!]' // \! 顯示命令次數(shù) 


            為環(huán)境變量增加新PATH路徑(不影響老路徑)。
            %PATH=$PATH:$HOME/bin:/…/…/
            %export PATH 


            列舉與某個主題相關(guān)的所有unix命令:
            %apropos lp //列舉與lp(打印機)相關(guān)的所有命令 


            查看unix版本號:
            %uname –a

            UNIX下整個目錄拷貝
            %cp –r /home/baoshan/zzy .
            //將/home/baoshan/zzy整個目錄拷貝到當(dāng)前目錄下


            UNIX下文件格式與DOS文件格式互換
            %unix2dos oldfile newfile
            %dos2unix oldfile newfile


            查看UNIX下已經(jīng)安裝的包-package
            %pkginfo


            顯示某一目錄下所有文件size
            %du –d /; //顯示根目錄下所有文件的size大小


            文件加密:
            %crypt passwd < myfile > newfile //compress
            %rm myfile
            %crypt passwd < newfile //restore


            取消^M字符:
            當(dāng)你FTP一些DOS文件到unix下時,你經(jīng)常會看見每行文件后面有個討
            厭的^M 字符,(把 HTML 文件傳輸?shù)?UNIX 系統(tǒng)可引起回車符轉(zhuǎn)變成“^M”字符),
            有兩個簡單的方法可以取消它。
            用"vi"打開此文件,在Command mode下敲入:
            :%s/^V^M//g 
            或者,在UNIX SHELL下敲入:
            sed 's/^V^M//g' foo > foo.new 


            使用nohup命令:
            如果你想進(jìn)程在你退出系統(tǒng)后還能執(zhí)行,可以使用NOHUP命令
            如: % nohup tar -cf /dev/tape /home & 
            你退出后再重新登錄的話,使用'ps'命令可以看到進(jìn)程還在執(zhí)行


            查看文件的方法:
            如果你只想看文件的前5行,可以使用head命令,如:
            head -5 /etc/passwd 
            如果你想查看文件的后10行,可以使用tail命令,如:
            tail -10 /etc/passwd 
            你知道怎么查看文件中間一段嗎?你可以使用sed命令 如: 
            sed -n '5,10p' /etc/passwd 
            這樣你就可以只查看文件的第5行到第10行。


            檢查磁盤剩余空間:
            %df –k
            %df –t


            超級用戶修改系統(tǒng)時間:
            #date MMDDHHMI
            #date –u MMDDHHMIYYYY


            超級用戶修改正常用戶口令:
            #passwd –d user1 //刪除用戶user1的口令


            ==================================================================================


            SUN軟件包管理的命令:pkginfo、pkgadd和pkgrm


             
            pkginfo 
            查看當(dāng)前操作系統(tǒng)已經(jīng)安裝的軟件包。 
            # pkginfo | more 
             
            application SUNWAxg Solaris XGL 3.3 AnswerBook 
            application SUNWaadm Solaris 7 System Administrator Collection 
            system SUNWab2m Solaris Documentation Server Lookup 
            system SUNWab2r Solaris Documentation Server 
            system SUNWab2s Solaris Documentation Server 
            system SUNWab2u Solaris Documentation Server 
            application SUNWabda Sun Ultra 5/10 Hardware AnswerBook 
            application SUNWabe Solaris 7 User Collection 
            application SUNWabsdk Solaris 7 Software Developer Collection 


            pkginfo [ -d [ device | pathname ] ] [ -l ] pkg_name 

            參數(shù): 
            -d 軟件包所在的設(shè)備路徑 
            -l 軟件包的詳細(xì)描述 
            pkg_name 軟件包的 名字 
             # pkginfo -d /cdrom/cdrom0/s0/Solaris_2.7/Product -l SUNWaudio 
            PKGINST: SUNWaudio 
            NAME: Audio applications 
            CATEGORY: system 
            ARCH: sparc 
            VERSION: 3.6.4,REV=1.98.08.13 
            BASEDIR: / 
            VENDOR: Sun Microsystems, Inc. 
            DESC: Audio binaries 
            PSTAMP: dtbuild37s19980813171753 
            HOTLINE: Please contact your local service provider 
            STATUS: spooled 
            FILES: 9 spooled pathnames 
            2 directories 
            3 executables 
            4 package information files 
            700 blocks used (approx) 

            pkgrm 
            pkgrm用于刪除軟件包 

            語法: 

            pkgrm package_name 

            # pkgrm SUNWaudio 
            The following package is currently installed: 
            SUNWaudio Audio applications 
            (sparc) 3.6.4,REV=1.98.08.13 
            Do you want to remove this package? y 
            ## Removing installed package instance  
            ## Verifying package dependencies. 
            WARNING: 
            The  package depends on the package 
            currently being removed. 
            WARNING: 
            The  package depends on the package 
            currently being removed. 
            WARNING: 
            The  package depends on the package 
            currently being removed. 
            WARNING: 
            The  package depends on the package 
            currently being removed. 
            Dependency checking failed. 
            Do you want to continue with the removal of this package [y,n,?,q] 

            注:如果某個文件被多個軟件包共用,則只當(dāng)最后的包被刪除時才被刪除。 
              
            pkgadd 
            使用pkgadd添加軟件包 
            命令格式: 
            pkgadd [ -d [device | pathname ]] pkg_name 
              
            # pkgadd -d /cdrom/cdrom0/s0/Solaris_2.7/Product SUNWaudio 
            Processing package instance  from 
             
            Audio applications 
            (sparc) 3.6.4,REV=1.98.08.13 
            Copyright 1998 Sun Microsystems, Inc. All rights reserved. 
            Using  as the package base directory. 
            ## Processing package information. 
            ## Processing system information. 
            2 package pathnames are already properly installed. 
            ## Verifying package dependencies. 
            ## Verifying disk space requirements. 
            ## Checking for conflicts with packages already installed. 
            ## Checking for setuid/setgid programs. 
            This package contains scripts which will be executed with super-user 
            permission during the process of installing this package. 
            Do you want to continue with the installation of  [y,n,?] y 
            Installing Audio applications as  
            ## Installing part 1 of 1. 
            Installation of  was successful.


            =================================================================================

            Solaris性能監(jiān)控的Swap空間管理

             
            隨著電子商務(wù)如火如荼的開展,網(wǎng)站服務(wù)器的性能變得尤其重要。一旦服務(wù)器的能力不能滿足用戶的需要,就會對用戶的服務(wù)大打折扣,那么就需要對服務(wù)器進(jìn)行升級擴(kuò)容。但是,有些時候只需對服務(wù)器進(jìn)行一些適當(dāng)?shù)男阅苷{(diào)整,便可以越過性能的瓶頸,大大提高服務(wù)器的吞吐能力,從而減少服務(wù)器升級的費用。 

            本文介紹了在Solaris平臺上Swap(交換)空間的基本概念、實現(xiàn)的原理以及對Swap(交換)空間進(jìn)行監(jiān)控的方法和調(diào)整的策略。 

            什么是SWAP(交換)空間 

            對于一般的Solaris系統(tǒng)管理員來說,很少會接觸Swap(交換)空間,在他們看來Swap區(qū)只不過是磁盤上的一兩個分區(qū)或是幾個Swap(交換)文件,當(dāng)系統(tǒng)沒有足夠的物理內(nèi)存來處理當(dāng)前進(jìn)程的時候,就利用Swap(交換)空間作為虛擬內(nèi)存的臨時存儲空間,這種說法從技術(shù)角度來說是沒有錯的,但Solaris在實現(xiàn)Swap時有其非常獨特的地方。 

            SWAP空間作用 

            眾所周知,現(xiàn)代操作系統(tǒng)都實現(xiàn)了“虛擬內(nèi)存”這一技術(shù),不但在功能上突破了物理內(nèi)存的限制,使程序可以操縱大于實際物理內(nèi)存的空間,更重要的是“虛擬內(nèi)存”是隔離每個進(jìn)程的安全保護(hù)網(wǎng),使每個進(jìn)程不受其他程序的干擾。 

            Swap空間的作用可簡單描述為:當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時候,就需要將物理內(nèi)存中的一部分空間釋放出來,以供當(dāng)前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。這樣,系統(tǒng)總是在物理內(nèi)存不夠時,才進(jìn)行Swap交換。這種現(xiàn)象對于計算機使用者是經(jīng)常遇到的。 

            有一點要聲明的是,并不是所有從物理內(nèi)存中交換出來的數(shù)據(jù)都會被放到Swap中(如果這樣的話,Swap會不堪重負(fù)),有相當(dāng)一部分的數(shù)據(jù)直接交換到文件系統(tǒng)。例如,有的程序會打開一些文件,對文件進(jìn)行讀寫(其實每個程序都至少打開一個文件,那就是運行程序本身),當(dāng)這些程序的內(nèi)存空間需要交換出去時,文件部分的數(shù)據(jù)就沒有必要放到Swap空間中了,如果是讀文件操作,那么內(nèi)存數(shù)據(jù)直接就釋放了,不需要交換出來,因為下次需要時,直接從文件系統(tǒng)就能恢復(fù);如果是寫文件,只需要將變化的數(shù)據(jù)保存到文件中,以便恢復(fù)。但是那些用malloc(3C)和new函數(shù)生成的對象的數(shù)據(jù)則不同,需要Swap空間,因為它們在文件系統(tǒng)中沒有相應(yīng)的“儲備”文件,因此被稱為“匿名”(Anonymous)的內(nèi)存數(shù)據(jù),這類數(shù)據(jù)還包括堆棧中的一些狀態(tài)和變量數(shù)據(jù)等,所以說,Swap空間是“匿名”數(shù)據(jù)的交換空間。 

            Swap的配置對性能的影響 

            太多的Swap空間會浪費磁盤的空間,而太少的Swap空間,系統(tǒng)則會發(fā)生錯誤。 

            如果系統(tǒng)的物理內(nèi)存用光了,你的系統(tǒng)就會跑得慢,但仍能運行;如果Swap空間用光了,那么系統(tǒng)就會發(fā)生錯誤。例如,Web服務(wù)器能根據(jù)不同的請求數(shù)量衍生出多個服務(wù)進(jìn)程(或線程),如果Swap空間用完,則服務(wù)進(jìn)程無法進(jìn)動,通常會出現(xiàn)"application is out of memory"的錯誤,嚴(yán)重時會造成服務(wù)進(jìn)程的死鎖。因此Swap空間的分配是很重要的。 

            通常情況下,Swap空間應(yīng)大于或等于物理內(nèi)存的大小,最小不應(yīng)小于64M,通常Swap空間的大小應(yīng)是物理內(nèi)存的2-2.5倍(Solaris 2以上的版本有所變化,見下文)。但根據(jù)不同的應(yīng)用,應(yīng)有不同的配置:如果是小的桌面系統(tǒng),只需要較小的Swap空間,而大的服務(wù)器系統(tǒng)則視情況不同需要不同大小的Swap空間。特別是數(shù)據(jù)庫服務(wù)器和Web服務(wù)器會隨著訪問量的增加,對Swap 空間的要求也會增加,具體配置參見各自服務(wù)器產(chǎn)品的說明。 

            另外,Swap分區(qū)的數(shù)量對性能也有很大的影響。因為Swap交換的操作是磁盤I/O的操作,如果有多個Swap交換區(qū),Swap空間的分配會以輪流的方式操作于所有的Swap,這樣會大大均衡I/O的負(fù)載,加快Swap交換的速度。如果只有一個交換區(qū),所有的交換操作會使交換區(qū)變得很忙,使系統(tǒng)大多數(shù)時間位于等待狀態(tài),效率很低,用性能監(jiān)視工具就會發(fā)現(xiàn),此時的CPU并不很忙,而系統(tǒng)卻慢,這說明,瓶頸在I/O上,依靠提高CPU的速度是解決不了問題的。 

            性能監(jiān)視 

            Swap空間的分配固然很重要,而系統(tǒng)在運行時的性能監(jiān)控卻更加有價值,通過性能監(jiān)視工具可以檢查系統(tǒng)的各項性能指標(biāo),找到系統(tǒng)性能的瓶頸。本文只介紹一下在Solaris下和Swap相關(guān)的一些命令和用途。 

            最常用的是Vmstat命令,在大多數(shù)Unix平臺下都有此命令,此命令可以查看大多數(shù)性能的指標(biāo)。 

            另外使用swap -s 也能簡單的查看當(dāng)前swap資源的使用情況。例如: 
            # swap -s 
            total: 65896k bytes allocated + 56840k reserved = 122736k used, 1069456k available 

            能夠方便的看出swap空間的已用和未用資源的大小。應(yīng)該使Swap保持30%的負(fù)載以下,才能保證系統(tǒng)的良好性能。 

            Solaris中Swap的特點 

            虛擬Swap空間 

            本來Swap空間就是為虛擬內(nèi)存服務(wù)的,現(xiàn)在Solaris的Swap空間也成為虛擬,這到底是怎么回事呢? 

            讓我們看一個例子就明白了,當(dāng)在Solaris 2以前版本的Solaris(或其它Unix, 如Linux)上編程時經(jīng)常會出現(xiàn)一個問題: 

            假設(shè)系統(tǒng)當(dāng)前還有可用的內(nèi)存空間為30M,而只剩下10M的Swap空間了,這時,如果有一個進(jìn)程開始運行并企圖執(zhí)行Malloc(15*1024*1024)的命令(分配15M空間),這個進(jìn)程會因為這個命令而失敗。 

            為什么呢?系統(tǒng)不是有30M可用的內(nèi)存空間嗎?原因在于:你的Swap空間不足,系統(tǒng)認(rèn)為你在分配空間以后,沒有能力(空間)在發(fā)生頁面交換時,將這部分?jǐn)?shù)據(jù)保存起來,因此認(rèn)為你沒有資格分配這塊空間。這不是太不公平了吧!也許這15M空間根本不用交換,當(dāng)前系統(tǒng)可是還有30M內(nèi)存空間的富余啊! 

            還有更不公平的呢?有些大型系統(tǒng)配備了海量的內(nèi)存,1G或4G,配了這么多內(nèi)存就是為了避免交換,提高運行速度,可是系統(tǒng)還要為這個系統(tǒng)分配并不需要的Swap空間,占用了大量磁盤資源。 

            為了彌補這個缺陷,Sun為Solaris 2 以后的版本設(shè)計了虛擬Swap空間。所謂虛擬的Swap空間,概念其實很簡單,swap空間再也不是單指硬盤的分區(qū)或文件。虛擬Swap空間包含兩個部分:部分物理內(nèi)存和傳統(tǒng)上的Swap分區(qū)。經(jīng)過適當(dāng)?shù)呐渲茫梢允瓜到y(tǒng)需要Swap空間時,先使用內(nèi)存部分的swap空間,如果內(nèi)存部分的swap空間不夠,再使用磁盤部分的Swap空間。這樣,也許你硬盤上的Swap空間很少得到使用了,甚至根本不需要Swap分區(qū)。 

            Swap空間與TMPFS文件系統(tǒng)的關(guān)系 

            你知道嗎?虛擬Swap空間與 /tmp目錄有相當(dāng)大的關(guān)系。Sun在實現(xiàn) 
            /tmp目錄時,充分考慮了應(yīng)用程序運行的效率。許多應(yīng)用程序,特別是數(shù)據(jù)庫服務(wù)都會頻繁使用 
            /tmp目錄作為臨時數(shù)據(jù)保存區(qū),而Solaris將 
            /tmp目錄下的文件都放在內(nèi)存中而不是硬盤里,這樣會大大提高應(yīng)用程序的效率。 

            但是/tmp目錄的空間是從系統(tǒng)虛擬空間里擠出來的,是虛擬Swap空間的一部分。如果說,你用完了/tmp空間,也就是用完了Swap空間,所以要小心監(jiān)視系統(tǒng)的/tmp目錄的使用情況,千萬別用光了,否則系統(tǒng)會癱瘓!下面兩點建議作為參考: 

            1.在Mount /tmp目錄時,使用(-o Size)選項來控制/tmp目錄的大小。 

            2.當(dāng)使用編譯器編譯文件時,如果不想占用Swap空間,則用TMPDIR環(huán)境變量指向另外一個臨時目錄,而不是/tmp目錄。 

            有關(guān)Swap空間操作的系統(tǒng)命令 

            增加Swap空間 

            1.成為超級用戶 $su - root 

            2.創(chuàng)建Swap文件 #mkfile nnn[klblm] filename 
            如:#mkfile 100m swapfile1 

            3.激活Swap文件 
            #/usr/sbin/swap -a /path/filename 
            Swap文件必須以絕對路徑來指定,filename指的是上一步創(chuàng)建的文件。 

            4.現(xiàn)在新加的Swap文件已經(jīng)起作用了,但系統(tǒng)重新啟動以后,并不會記住前幾步的操作。因此要在/etc/vfstab文件中記錄文件的名字,和Swap類型,如: 
            /path/filename - - Swap - no - 

            5.效驗Swap文件是否加上 /usr/sbin/swap -l 

            刪除多余的Swap空間 

            1.成為超級用戶 

            2.使用swap -d 命令收回swap空間。 
            #/usr/sbin/swap -d /path/filename 

            3.編輯/etc/ufstab文件,去掉此Swap(交換)文件的實體。 

            4.從文件系統(tǒng)中回收此文件。 
            #rm swap-filename 

            5.當(dāng)然,如果此Swap(交換)空間不是一個文件,而是一個分區(qū),則需創(chuàng)建一個新的文件系統(tǒng),再掛接到原來的文件系統(tǒng)上。 

             

            ==================================================================================

             
            隨著電子商務(wù)如火如荼的開展,網(wǎng)站服務(wù)器的性能變得尤其重要。一旦服務(wù)器的能力不能滿足用戶的需要,就會對用戶的服務(wù)大打折扣,那么就需要對服務(wù)器進(jìn)行升級擴(kuò)容。但是,有些時候只需對服務(wù)器進(jìn)行一些適當(dāng)?shù)男阅苷{(diào)整,便可以越過性能的瓶頸,大大提高服務(wù)器的吞吐能力,從而減少服務(wù)器升級的費用。 

            本文介紹了在Solaris平臺上Swap(交換)空間的基本概念、實現(xiàn)的原理以及對Swap(交換)空間進(jìn)行監(jiān)控的方法和調(diào)整的策略。 

            什么是SWAP(交換)空間 

            對于一般的Solaris系統(tǒng)管理員來說,很少會接觸Swap(交換)空間,在他們看來Swap區(qū)只不過是磁盤上的一兩個分區(qū)或是幾個Swap(交換)文件,當(dāng)系統(tǒng)沒有足夠的物理內(nèi)存來處理當(dāng)前進(jìn)程的時候,就利用Swap(交換)空間作為虛擬內(nèi)存的臨時存儲空間,這種說法從技術(shù)角度來說是沒有錯的,但Solaris在實現(xiàn)Swap時有其非常獨特的地方。 

            SWAP空間作用 

            眾所周知,現(xiàn)代操作系統(tǒng)都實現(xiàn)了“虛擬內(nèi)存”這一技術(shù),不但在功能上突破了物理內(nèi)存的限制,使程序可以操縱大于實際物理內(nèi)存的空間,更重要的是“虛擬內(nèi)存”是隔離每個進(jìn)程的安全保護(hù)網(wǎng),使每個進(jìn)程不受其他程序的干擾。 

            Swap空間的作用可簡單描述為:當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時候,就需要將物理內(nèi)存中的一部分空間釋放出來,以供當(dāng)前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。這樣,系統(tǒng)總是在物理內(nèi)存不夠時,才進(jìn)行Swap交換。這種現(xiàn)象對于計算機使用者是經(jīng)常遇到的。 

            有一點要聲明的是,并不是所有從物理內(nèi)存中交換出來的數(shù)據(jù)都會被放到Swap中(如果這樣的話,Swap會不堪重負(fù)),有相當(dāng)一部分的數(shù)據(jù)直接交換到文件系統(tǒng)。例如,有的程序會打開一些文件,對文件進(jìn)行讀寫(其實每個程序都至少打開一個文件,那就是運行程序本身),當(dāng)這些程序的內(nèi)存空間需要交換出去時,文件部分的數(shù)據(jù)就沒有必要放到Swap空間中了,如果是讀文件操作,那么內(nèi)存數(shù)據(jù)直接就釋放了,不需要交換出來,因為下次需要時,直接從文件系統(tǒng)就能恢復(fù);如果是寫文件,只需要將變化的數(shù)據(jù)保存到文件中,以便恢復(fù)。但是那些用malloc(3C)和new函數(shù)生成的對象的數(shù)據(jù)則不同,需要Swap空間,因為它們在文件系統(tǒng)中沒有相應(yīng)的“儲備”文件,因此被稱為“匿名”(Anonymous)的內(nèi)存數(shù)據(jù),這類數(shù)據(jù)還包括堆棧中的一些狀態(tài)和變量數(shù)據(jù)等,所以說,Swap空間是“匿名”數(shù)據(jù)的交換空間。 

            Swap的配置對性能的影響 

            太多的Swap空間會浪費磁盤的空間,而太少的Swap空間,系統(tǒng)則會發(fā)生錯誤。 

            如果系統(tǒng)的物理內(nèi)存用光了,你的系統(tǒng)就會跑得慢,但仍能運行;如果Swap空間用光了,那么系統(tǒng)就會發(fā)生錯誤。例如,Web服務(wù)器能根據(jù)不同的請求數(shù)量衍生出多個服務(wù)進(jìn)程(或線程),如果Swap空間用完,則服務(wù)進(jìn)程無法進(jìn)動,通常會出現(xiàn)"application is out of memory"的錯誤,嚴(yán)重時會造成服務(wù)進(jìn)程的死鎖。因此Swap空間的分配是很重要的。 

            通常情況下,Swap空間應(yīng)大于或等于物理內(nèi)存的大小,最小不應(yīng)小于64M,通常Swap空間的大小應(yīng)是物理內(nèi)存的2-2.5倍(Solaris 2以上的版本有所變化,見下文)。但根據(jù)不同的應(yīng)用,應(yīng)有不同的配置:如果是小的桌面系統(tǒng),只需要較小的Swap空間,而大的服務(wù)器系統(tǒng)則視情況不同需要不同大小的Swap空間。特別是數(shù)據(jù)庫服務(wù)器和Web服務(wù)器會隨著訪問量的增加,對Swap 空間的要求也會增加,具體配置參見各自服務(wù)器產(chǎn)品的說明。 

            另外,Swap分區(qū)的數(shù)量對性能也有很大的影響。因為Swap交換的操作是磁盤I/O的操作,如果有多個Swap交換區(qū),Swap空間的分配會以輪流的方式操作于所有的Swap,這樣會大大均衡I/O的負(fù)載,加快Swap交換的速度。如果只有一個交換區(qū),所有的交換操作會使交換區(qū)變得很忙,使系統(tǒng)大多數(shù)時間位于等待狀態(tài),效率很低,用性能監(jiān)視工具就會發(fā)現(xiàn),此時的CPU并不很忙,而系統(tǒng)卻慢,這說明,瓶頸在I/O上,依靠提高CPU的速度是解決不了問題的。 

            性能監(jiān)視 

            Swap空間的分配固然很重要,而系統(tǒng)在運行時的性能監(jiān)控卻更加有價值,通過性能監(jiān)視工具可以檢查系統(tǒng)的各項性能指標(biāo),找到系統(tǒng)性能的瓶頸。本文只介紹一下在Solaris下和Swap相關(guān)的一些命令和用途。 

            最常用的是Vmstat命令,在大多數(shù)Unix平臺下都有此命令,此命令可以查看大多數(shù)性能的指標(biāo)。 

            另外使用swap -s 也能簡單的查看當(dāng)前swap資源的使用情況。例如: 
            # swap -s 
            total: 65896k bytes allocated + 56840k reserved = 122736k used, 1069456k available 

            能夠方便的看出swap空間的已用和未用資源的大小。應(yīng)該使Swap保持30%的負(fù)載以下,才能保證系統(tǒng)的良好性能。 

            Solaris中Swap的特點 

            虛擬Swap空間 

            本來Swap空間就是為虛擬內(nèi)存服務(wù)的,現(xiàn)在Solaris的Swap空間也成為虛擬,這到底是怎么回事呢? 

            讓我們看一個例子就明白了,當(dāng)在Solaris 2以前版本的Solaris(或其它Unix, 如Linux)上編程時經(jīng)常會出現(xiàn)一個問題: 

            假設(shè)系統(tǒng)當(dāng)前還有可用的內(nèi)存空間為30M,而只剩下10M的Swap空間了,這時,如果有一個進(jìn)程開始運行并企圖執(zhí)行Malloc(15*1024*1024)的命令(分配15M空間),這個進(jìn)程會因為這個命令而失敗。 

            為什么呢?系統(tǒng)不是有30M可用的內(nèi)存空間嗎?原因在于:你的Swap空間不足,系統(tǒng)認(rèn)為你在分配空間以后,沒有能力(空間)在發(fā)生頁面交換時,將這部分?jǐn)?shù)據(jù)保存起來,因此認(rèn)為你沒有資格分配這塊空間。這不是太不公平了吧!也許這15M空間根本不用交換,當(dāng)前系統(tǒng)可是還有30M內(nèi)存空間的富余啊! 

            還有更不公平的呢?有些大型系統(tǒng)配備了海量的內(nèi)存,1G或4G,配了這么多內(nèi)存就是為了避免交換,提高運行速度,可是系統(tǒng)還要為這個系統(tǒng)分配并不需要的Swap空間,占用了大量磁盤資源。 

            為了彌補這個缺陷,Sun為Solaris 2 以后的版本設(shè)計了虛擬Swap空間。所謂虛擬的Swap空間,概念其實很簡單,swap空間再也不是單指硬盤的分區(qū)或文件。虛擬Swap空間包含兩個部分:部分物理內(nèi)存和傳統(tǒng)上的Swap分區(qū)。經(jīng)過適當(dāng)?shù)呐渲茫梢允瓜到y(tǒng)需要Swap空間時,先使用內(nèi)存部分的swap空間,如果內(nèi)存部分的swap空間不夠,再使用磁盤部分的Swap空間。這樣,也許你硬盤上的Swap空間很少得到使用了,甚至根本不需要Swap分區(qū)。 

            Swap空間與TMPFS文件系統(tǒng)的關(guān)系 

            你知道嗎?虛擬Swap空間與 /tmp目錄有相當(dāng)大的關(guān)系。Sun在實現(xiàn) 
            /tmp目錄時,充分考慮了應(yīng)用程序運行的效率。許多應(yīng)用程序,特別是數(shù)據(jù)庫服務(wù)都會頻繁使用 
            /tmp目錄作為臨時數(shù)據(jù)保存區(qū),而Solaris將 
            /tmp目錄下的文件都放在內(nèi)存中而不是硬盤里,這樣會大大提高應(yīng)用程序的效率。 

            但是/tmp目錄的空間是從系統(tǒng)虛擬空間里擠出來的,是虛擬Swap空間的一部分。如果說,你用完了/tmp空間,也就是用完了Swap空間,所以要小心監(jiān)視系統(tǒng)的/tmp目錄的使用情況,千萬別用光了,否則系統(tǒng)會癱瘓!下面兩點建議作為參考: 

            1.在Mount /tmp目錄時,使用(-o Size)選項來控制/tmp目錄的大小。 

            2.當(dāng)使用編譯器編譯文件時,如果不想占用Swap空間,則用TMPDIR環(huán)境變量指向另外一個臨時目錄,而不是/tmp目錄。 

            有關(guān)Swap空間操作的系統(tǒng)命令 

            增加Swap空間 

            1.成為超級用戶 $su - root 

            2.創(chuàng)建Swap文件 #mkfile nnn[klblm] filename 
            如:#mkfile 100m swapfile1 

            3.激活Swap文件 
            #/usr/sbin/swap -a /path/filename 
            Swap文件必須以絕對路徑來指定,filename指的是上一步創(chuàng)建的文件。 

            4.現(xiàn)在新加的Swap文件已經(jīng)起作用了,但系統(tǒng)重新啟動以后,并不會記住前幾步的操作。因此要在/etc/vfstab文件中記錄文件的名字,和Swap類型,如: 
            /path/filename - - Swap - no - 

            5.效驗Swap文件是否加上 /usr/sbin/swap -l 

            刪除多余的Swap空間 

            1.成為超級用戶 

            2.使用swap -d 命令收回swap空間。 
            #/usr/sbin/swap -d /path/filename 

            3.編輯/etc/ufstab文件,去掉此Swap(交換)文件的實體。 

            4.從文件系統(tǒng)中回收此文件。 
            #rm swap-filename 

            5.當(dāng)然,如果此Swap(交換)空間不是一個文件,而是一個分區(qū),則需創(chuàng)建一個新的文件系統(tǒng),再掛接到原來的文件系統(tǒng)上。 

             

            ===============================================================================


            Solaris如何改變系統(tǒng)運行級別 init


            系統(tǒng)運行級別有8種,分別為: 
            運行級別 意義 
            0 進(jìn)入PROM狀態(tài)(OK狀態(tài)) 
            1 管理狀態(tài)(所有文件系統(tǒng)都掛上的單用戶模式,禁止其他用戶登錄) 
            2 多用戶模式(沒有網(wǎng)絡(luò)文件共享服務(wù)) 
            3 多用戶模式(有網(wǎng)絡(luò)文件共享服務(wù)) 
            4 未使用 
            5 退出操作系統(tǒng)并關(guān)機 
            6 重新啟動機器 
            S,s 單用戶模式 
            init 
            init命令用于改變操作系統(tǒng)的運行級別。 
            命令格式: 
            init [ 0123456Ss ] 

            # init 0 
            INIT: New run level: 0 
            The system is coming down. Please wait. 
            System services are now being stopped. 
            Print services stopped. 
            Stopping the syslog service. 
            syslogd: going down on signal 15 
            Aug 14 14:54:30 snmpdx: received signal 15 
            The system is down. 
            syncing file systems... done 
            Program terminated 
            Type help for more information 
            ok 


            shutdown 
            用于改變操作系統(tǒng)運行級別。 
            命令格式: 
            shutdown [ -y ] [ -g seconds ] [ -i init-state ] [message] 

            選項: 
            y 系統(tǒng)提示時默認(rèn)回答為YES 
            g 過多長時間改變 
            i 想要的運行級別 
            message 給所有登錄用戶的信息 

            # shutdown -y -g 0 -i 0 
            Shutdown started. Mon Dec 15 15:13:57 PST 1997 
            Broadcast Message from root (console) on mcmurdo Mon Dec 
            15 15:13:57... 
            THE SYSTEM IS BEING SHUT DOWN NOW ! ! ! 
            Log off now or risk your files being damaged 
            Changing to init state 0 - please wait 
            ok 


            halt 
            進(jìn)入0運行級別 
            poweroff 
            關(guān)閉系統(tǒng)并切斷電源 
            reboot 
            重新啟動系統(tǒng) 

             

            =============================================================================


            為Sun服務(wù)器配置多網(wǎng)卡


            ---- 在網(wǎng)絡(luò)設(shè)計中,在服務(wù)器端,為了防止網(wǎng)絡(luò)傳輸過載或出于連接多子網(wǎng)的需要,往往要為服務(wù)器配置多塊網(wǎng)卡。下面介紹如何為Sun服務(wù)器來配置新網(wǎng)卡。 

            ---- 一.安裝新網(wǎng)卡 

            ---- 1.通知操作系統(tǒng)在重新啟動時檢測新硬件.命令如下: 

            ---- #touch /reconfigure 

            ---- 2.關(guān)閉服務(wù)器和電源. 

            ---- #shutdown -i5 -g60 -y 

            ---- 此命令通知連接的客戶機,服務(wù)器將在60秒(-g60)后關(guān)閉;運行級別5(-i5)指明如果硬件支持,就自動關(guān)閉服務(wù)器電源。 

            ---- 3.物理安裝新網(wǎng)卡 

            ---- 小心取下服務(wù)器背板上的插板,移去網(wǎng)卡上的托架,安好網(wǎng)卡,再插回原位,最后將網(wǎng)線插入新網(wǎng)卡接口,啟動服務(wù)器。 

            ---- 二.配置新網(wǎng)卡 

            ---- 1.檢查新網(wǎng)卡的設(shè)備號 

            ---- 服務(wù)臺器啟動后,用以下命令來檢查分配給新網(wǎng)卡的設(shè)備號,這與把網(wǎng)卡安裝在哪個槽上有關(guān); 

            ---- #dmesg 

            ---- 此命令執(zhí)行后將顯示所有用戶的設(shè)備號,如原有網(wǎng)卡的設(shè)備號為hme0,新網(wǎng)卡的設(shè)備號為hme1等; 

            ---- 2.為新網(wǎng)卡配置主機名和IP地址 

            ---- 在/etc 目錄用 vi 建立名為 hostname. 后跟新網(wǎng)卡的設(shè)備號(如hostname.hme1)的文件,其內(nèi)容為綁定所給網(wǎng)卡的主機名;修改/etc/hosts文件,增加一條記錄,其前半部分為新網(wǎng)卡的IP地址,加空格后跟新網(wǎng)卡的主機名(hostname.hme1)。 

            ---- 如: 

            10.10.10.100 sun1 #first network adapter
            88.1.1.10 sun2 #second network adapter

            ---- 3.路由功能 
            ---- 操作系統(tǒng)將自動開啟多網(wǎng)卡的路由功能,若想關(guān)閉路由功能,可用如下命令: 

            ---- #touch /etc/notrouter 

            ---- 完成以上步驟后重新啟動系統(tǒng)可用如下命令使配置生效 

            ---- #shutdown -i6 -g60 -y 

            ---- 最后不要忘記修改DNS或NIS服務(wù)器,以使網(wǎng)絡(luò)的其它主機能與之的通訊. 

            ---- 以上方法需要Root用此權(quán)限在Sun Enterprise 3000服務(wù)器和Salaris 2.6 server操作系統(tǒng)上測試通過. 

             

            ==================================================================================


            solaris中的系統(tǒng)log日志原理分析

            作為攻擊者當(dāng)然要知道系統(tǒng)是如何紀(jì)錄用戶的活動的情況的原理的了,呵呵,不然ip被記下來都不知道!

            呵呵,其實一些人只會到/var/adm/目錄里去刪日志,那是很笨很笨的做法。

            前段時間在www.unixaid.net結(jié)識了一個外地的系統(tǒng)管理員,談了談,深有心得所以我把這些寫下來,呵呵。

            unix系統(tǒng)的日志其實是非常復(fù)雜和強大的,特別是Solaris系統(tǒng),因為源碼的不公開,所以被蒙上了一層神秘的面紗,我研究分析了一陣子得出的結(jié)論和大家分享,我的能力有限,還望大家多多指教。

            負(fù)責(zé)日志記帳的有兩個守護(hù)進(jìn)程:klogd,syslogd,我著重講這兩個進(jìn)程,當(dāng)然還有進(jìn)程記帳進(jìn)程,就不多介紹了,呵呵,因為基本上所有的系統(tǒng)動作都會被這兩個進(jìn)程監(jiān)視并紀(jì)錄,大家如果要編寫一些系統(tǒng)程序的話,也會用到syslog這個接口的,呵呵,klogd主要紀(jì)錄一些系統(tǒng)內(nèi)核的動作,對攻擊者最受影響的是syslogd這個進(jìn)程.它可以接收訪問系統(tǒng)的日志信息并且根據(jù)/etc/syslog.conf配置文件中的指令處理
            這些信息。因此,任何希望生成日志信息的程序都可向syslog接口呼叫來生成改信息。大部分內(nèi)部系統(tǒng)工具如郵件和打印系統(tǒng)都是如此生成信息的,許多新增的程序如TCP_wrappers和SSH也是如此工作的。講到這里,大家有點概念了吧?呵呵
            /etc/syslog.conf的格式比較復(fù)雜,大家可以參考一下有關(guān)書籍,主要是如下語句形式:
            facility.level  action
            facility代表各種服務(wù),level代表syslog的認(rèn)證級別,action代表的是針對前面信息的處理。大家可以注意action字段,有時候會把信息發(fā)送到另外一臺機器而不是熟悉的/var/adm/messages的,這下應(yīng)該知道這個文件的重要性了吧?如果真把日志發(fā)到另外一臺機器的話,就想辦法把那臺機器dos掉了,不是它死你是你亡啊,呵呵,有時會發(fā)送到/dev/console,/dev/tty1或/dev/lp1等等這樣的設(shè)備,就是發(fā)送到終端啊,呵呵,想想如果那終端作的是系統(tǒng)管理員,你不是很慘?

            現(xiàn)在大家應(yīng)該知道不是刪刪/var/adm/messages就了事的吧?呵呵

            好,下面介紹一下solaris的另外一個記帳,就是wtmp和utmp,說明一下大家常見到的wtmpx和utmpx是wtmp和utmp的擴(kuò)展罷了,大家可以參看wtmp.h,utmp.h里的定義的數(shù)據(jù)結(jié)構(gòu),會有寫概念,呵呵,在solaris里是通過utmpd,wtmpd這兩個進(jìn)程來進(jìn)行記帳的,然后通過utmppipe這個管道文件向/var/adm/utmpx這個文件寫數(shù)據(jù),當(dāng)然utmpx這個文件不是象messages一樣是文本形式的,它是二進(jìn)制的,只有who,finger命令可以訪問,呵呵,大家知道了吧?而last命令是訪問wtmpx的。utmp是紀(jì)錄用戶的動態(tài)會話用的,而wtmp是紀(jì)錄用戶的登陸與推出的活動的,這就是區(qū)別,呵呵。寫這篇

            文章只是要提醒大家不要隨便刪日志,那很傻的,呵呵,最好自己編寫一些刪日志的小工具,很容易,大家參考一下utmp這個數(shù)據(jù)結(jié)構(gòu)就可以了,也可以用一個命令來刪除messages中的紀(jì)錄:
            eagle~# more /var/adm/messages|grep -v 或 >/var/adm/messages
            很簡單不是么?呵呵,當(dāng)然utmp,wtmp中的紀(jì)錄就要用程序解決了,也有現(xiàn)成的程序比如:

            wtmpdump.c,marry.c,remove.c等等,呵呵都不錯的,我主頁上有下載,呵呵
            attacker.qzone.com

            好了,就說這么多了,重申一句,我只是為了讓大家進(jìn)行愛國主義行動的時候注意以下善后的工作,呵呵其中牽涉到的只是非常多,我很多沒有詳細(xì)說明和講解,希望大家重視日志,參考一下有關(guān)資料。

            忘了,這些是solaris中的情況,呵呵,在Linux里又大不一樣,呵呵,linux里沒有utmpd這個進(jìn)程,是通過PAM的認(rèn)證模塊來進(jìn)行記帳的,PAM的資料大家可以參考一下書籍很復(fù)雜,說的話會近萬字呢,呵呵


            =====================================================================================
            用戶登錄時,Bash 首先執(zhí)行全局登錄腳本(由 root 建立) /etc/profile,然后在用戶起始目錄下依次尋找 .bash_profile、.bash_login、.profile 三個文件,執(zhí)行最先找到的一個。可以用這種辦法像 Netware 一樣為不同的用戶定制運行環(huán)境。

            posted on 2008-02-27 16:52 葉子 閱讀(1057) 評論(0)  編輯 收藏 引用 所屬分類: 系統(tǒng)管理

            91久久精品国产成人久久| 久久AV高清无码| 久久99亚洲综合精品首页| 四虎国产精品免费久久| 国产亚洲美女精品久久久2020| 久久成人国产精品| 国产精品视频久久久| 国产精品久久久久久一区二区三区| 77777亚洲午夜久久多喷| 久久发布国产伦子伦精品| 久久中文精品无码中文字幕| 狠狠色噜噜色狠狠狠综合久久| 少妇久久久久久久久久| 国产农村妇女毛片精品久久| 欧美成a人片免费看久久| AV无码久久久久不卡蜜桃 | 久久午夜福利无码1000合集| 欧美日韩精品久久久久| 亚洲午夜久久影院| 久久九九兔免费精品6| 久久九九久精品国产免费直播| 久久精品国产99久久久| 中文字幕久久亚洲一区| 久久精品国产半推半就| 99久久免费国产特黄| 中文字幕乱码人妻无码久久| 伊人色综合久久天天网| 久久亚洲国产精品五月天婷| 91麻精品国产91久久久久| 国内精品人妻无码久久久影院| 久久无码高潮喷水| 日韩欧美亚洲国产精品字幕久久久| 国内精品伊人久久久久av一坑| 一本色道久久88综合日韩精品| 国产99久久九九精品无码| 久久精品成人免费网站| 天天综合久久一二三区| 国产亚洲色婷婷久久99精品91| 国内精品久久久久影院一蜜桃| 精品综合久久久久久98| 久久人人添人人爽添人人片牛牛|