Articles of solaris

如何测量solaris进程的内存使用情况?

如何检查solaris进程消耗多less内存? 我想要分配的总地址空间和驻留在RAM中的数量。 我试着用一些awk脚本总结pmap输出,但是这是一个丑陋的黑客。 有没有更好的方法来编写脚本?

是否可以防止SCP,同时仍然允许SSH访问?

使用Solaris和Linux服务器和OpenSSH,是否可以防止用户使用“scp”复制文件,同时仍然允许使用“ssh”进行shell访问? 我意识到'ssh $ server'cat file''types的文件访问是难以防止的,但是我需要看到关于停止“scp”的初学者。 如果没有,有没有办法通过syslog可靠地logging服务器端的所有SCP访问?

文件大小与zfs压缩

我通常使用du -ks $DIRECTOY_TREE_ROOT来估计整个目录树的大小,但是当打开zfs压缩时,不能使用这个方法。 ls -l显示的total对于单个目录来说是可以的,但是对目录树得到相同结果最简单的方法是什么? 编辑: 操作系统是Solaris 10。 我正在寻找真正的文件大小,而不是磁盘上使用的空间。

Solaris / OpenSolaris的隐藏function

在Solaris或OpenSolaris上可以find的有用的命令,工具或窍门在典型的Linux发行版中是不可用的?

如何恢复已删除文件的可用空间而不重新启动引用过程?

在服务器上删除大文件时,文件仍可能被进程引用,因此文件系统没有更多的可用空间。 我试图使用lsof,但似乎没有列出删除的文件。 Fuser -c做得好,但是进程列表太长,无法检查每个进程,特别是因为每个进程都是Oracle进程。 bash-3.2# fuser -c /var /var: 105o 29999o 20444c 3528c 27258o 7715o 3864o 3862o 2494o 18205o 17450co 17445co 14912co 14824co 14818co 14816o 14814o 8532c 8530c 7633com 7118o 6958o 6790c 6784co 6734o 6693o 6689o 6684o 6675o 6635o 6594c 6548o 6547o 6546o 6545o 6544o 6543o 6542o 6541o 6540o 6537o 6535o 6456o 6128co 6113o 335o […]

为什么在SmartOS上导出时SMF会丢失configuration数据?

我正在Joyent的Base64 1.8.1 SmartOS映像上运行SMF(服务器pipe理工​​具)下的服务器进程。 对于那些没有SmartOS的人来说,这是IllumOS与KVM的云分发。 但本质上它就像Solaris一样从OpenSolarisinheritance而来。 所以,即使您没有使用SmartOS,我也希望能够了解一些关于ServerFault的Solaris知识。 我的问题是,我想让一个非特权用户被允许重新启动他们拥有的服务。 我已经制定了如何使用RBAC并向/etc/security/auth_attr添加授权并将授权与我的用户相关联。 然后,我将以下内容添加到服务的SMF清单中: <property_group name='general' type='framework'> <!– Allow to be restarted–> <propval name='action_authorization' type='astring' value='solaris.smf.manage.my-server-process' /> <!– Allow to be started and stopped –> <propval name='value_authorization' type='astring' value='solaris.smf.manage.my-server-process' /> </property_group> 这在导入时效果很好。 我的非特权用户被允许重新启动,启动和停止自己的服务器进程(这是用于自动化代码部署)。 但是,如果我导出SMF清单,这个configuration数据就不存在了…我在该部分看到的是这样的: <property_group name='general' type='framework'> <property name='action_authorization' type='astring'/> <property name='value_authorization' type='astring'/> </property_group> 有人知道这是为什么吗? 我的语法错了,还是我简单地使用SMF不正确?

Solaris上的sudoers文件在哪里?

Solaris中的sudoers文件在哪里? Solaris版本(特别是9和10)有所不同吗?

我可以使用SSH密钥身份validation以不同的用户名login到远程系统吗?

假设我有一个名为“远程系统”的远程系统,并在该系统上有一个用户帐户“foouser”。 我知道在我的本地系统上,我可以生成一个SSH密钥对作为本地用户“foouser”,把公钥放在“远程系统”的“/home/foouser/.ssh/authorized_keys”文件中。 当我从本地系统SSH“foouser”到“远程系统”,SSH使用密钥对来validation我。 但是,如果我的本地用户名与远程系统上的用户名不一样呢? 也就是说,如果我想SSH作为本地用户“baruser”到“远程系统”? 显然,我需要为“baruser”生成密钥对,并将公钥添加到“/home/foouser/.ssh/authorized_keys”。 然后,我应该可以在本地以“baruser”身份login时使用“ssh foouser @ remotesystem”,SSH将使用密钥对进行身份validation,对吧? 我问,因为我正在尝试在这种情况下获得密钥身份validation,没有成功。 我不确定是由于用户名不匹配还是远程系统上的SSH服务器的configuration问题。

NFS v3与v4

我想知道为什么NFS v4会比NFS v3快得多,如果v3上有任何参数可以调整。 我挂载一个文件系统 sudo mount -o 'rw,bg,hard,nointr,rsize=1048576,wsize=1048576,vers=4' toto:/test /test 然后运行 dd if=/test/file of=/dev/null bs=1024k 我可以读取200-400MB / s,但是当我更改版本为vers=3 ,重新安装并重新运行dd,我只能获得90MB / s 。 我正在读取的文件是NFS服务器上的内存文件。 连接的两端都是Solaris,并具有10GbE NIC。 我通过在所有testing之间重新安装来避免任何客户端caching。 我使用dtrace在服务器上查看数据通过NFS服务的速度。 对于v3和v4我改变了: nfs4_bsize nfs3_bsize 从默认的32K到1M(在V4上,我用32K的最高速度为150MB /秒)我试过调整 nfs3_max_threads clnt_max_conns nfs3_async_clusters 提高V3的性能,但没有去。 在v3上,如果我运行四个并行dd ,吞吐量从90MB / s下降到70-80MB,这导致我认为问题是一些共享资源,如果是的话,那么我想知道它是什么,如果我可以增加那个资源。 dtrace代码获取窗口大小: #!/usr/sbin/dtrace -s #pragma D option quiet #pragma D option defaultargs inline string ADDR=$$1; dtrace:::BEGIN […]

无法销毁ZFS快照:数据集已经存在

我有一个运行Solaris 10 8/07的服务器(T5220,尽pipe我怀疑这很重要),我在内部磁盘上有一个ZFS池“mysql”。 在它内部我有一个文件系统“mysql / data / 4.1.12”,我用cron脚本每小时一次快照。 我有一个快照,创build一个小时快照,不会破坏。 我把它重新命名为“mysql/data/4.1.12@wibble”,这样我的脚本就不会试图破坏它,但它本来是在序列中的,尽pipe我怀疑这个问题。 它成功重命名。 快照可以通过.zfs / snapshots目录成功导航和读取。 它没有基于它的克隆。 试图摧毁它这样做: (265) root@web-mysql4:/# zfs destroy mysql/data/4.1.12@wibble cannot destroy 'mysql/data/4.1.12@wibble': dataset already exists (266) root@web-mysql4:/# 这显然是荒谬的:当然它已经存在了,这就是重点! 任何人都看过这样的事情吗? 网页search没有任何明显的相似 如有必要,我可以提供补丁。